openapi-python-client
openapi-python-client copied to clipboard
Ignore specific files when generating the client
Is your feature request related to a problem? Please describe. When generating the client from open api spec, sometimes we need to prevent some specific files to be overwritten. I haven't found a native support in openapi-python-client currently.
Describe the solution you'd like We can follow the .gitignore pattern and provide something like .openapi_python_ignore.
Describe alternatives you've considered N/A
Additional context N/A
When you say files being overwritten, do you mean in the generated client? i.e. generate version A, update it to version B, but leave some files untouched? Or do you mean you want to ignore parts of the spec itself? If so this is likely a duplicate of #55 as that should get you where you need.
@clasnake , I think you are describing the same issue that I am facing: This generator does not seem to allow for files not generated from the spec inside the package.
After a quick browse it appears that the same methods used to in the generate command are used in the update command, seen here. This means that the package is essentially wiped every time an update command is executed as far as I can tell.
If I'm right, this means that potentially a .openapi-python-ignore is feasible with shutil, but an initial implementation may affect the generate and update commands.
@emann , what I am describing is similar to what the openapi-generator tool has implemented.
@emann / @dbanty , I don't intend to push, but ...
- What are your thoughts on this feature? Am I missing something?
- Is this project open to new contributors?
- If some implementation allowing for file/directory ignore patterns materialized... would you want it to affect generate and update commands?
@bolbken in order:
- Sounds like a great feature, and you’re correct in your assessment of current behavior.
- Yes! Though currently we’re rather slow to respond / review 😅. I am mostly limited to weekend time at the moment.
- I think it’d make sense to mirror the functionality from openapi-generator.
update
was just the easy alternative to full ignore functionality so you could leave metadata / external packages in place. I think it just becomes a special case ofgenerate
with prebaked ignore rules.. right? I don’t actually useupdate
myself anymore so I could be forgetting something >_>.
@dbanty Thanks for the quick, concise response.
In the coming weeks I may take this on and attempt an implementation. This is truly a superior generator for python clients from openapi specs. Looking forward to potentially being able to contribute in the future. Thanks! :)
Hi @dbanty -- I am curious if you think this feature belongs in this library. I certainly do, though there seem to be several plausible implementations.