Skip to content

Sharp edge: --overwrite with --output-path #1105

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
zabullet opened this issue Aug 23, 2024 · 1 comment · Fixed by #1183 or #1181
Closed

Sharp edge: --overwrite with --output-path #1105

zabullet opened this issue Aug 23, 2024 · 1 comment · Fixed by #1183 or #1181

Comments

@zabullet
Copy link

zabullet commented Aug 23, 2024

It's not a bug, but a bit of a sharp edge.

The mechanism employed by --overwrite is to essentially rm -rf *

So for instance in you're in your repo and execute

--overwrite --output-path ./

It very aggressively removes everything.

@MoisMoshev
Copy link

I agree this is an issue, because it is useful to keep the generated client in git, and removing the directory also deletes the .git directory. Not something insurmountable, but an annoyance for sure.

dbanty added a commit that referenced this issue Dec 24, 2024
Closes #1105

Co-authored-by: Dylan Anthony <dbanty@users.noreply.github.com>
@knope-bot knope-bot bot mentioned this issue Dec 24, 2024
github-merge-queue bot pushed a commit that referenced this issue Dec 24, 2024
> [!IMPORTANT]
> Merging this pull request will create this release

## Breaking Changes

### Delete fewer files with `--overwrite`

`--overwrite` will no longer delete the entire output directory before
regenerating. Instead, it will only delete
specific, known directories within that directory. Right now, that is
only the generated `models` and `api` directories.

Other generated files, like `README.md`, will be overwritten. Extra
files and directories outside of those listed above
will be left untouched, so you can any extra modules or files around
while still updating `pyproject.toml` automatically.

Closes #1105.

## Features

- Support httpx 0.28 (#1172)

### Add `generate_all_tags` config option

You can now, optionally, generate **duplicate** endpoint
functions/modules using _every_ tag for an endpoint,
not just the first one, by setting `generate_all_tags: true` in your
configuration file.

## Fixes

- Support Typer 0.14 and 0.15 (#1173)

### Fix minimum `attrs` version

The minimum `attrs` dependency version was incorrectly set to 21.3.0.
This has been corrected to 22.2.0, the minimum
supported version since `openapi-python-client` 0.19.1.

Closes #1084, thanks @astralblue!

### Fix compatibility with Pydantic 2.10+

#1176 by @Viicos

Set `defer_build` to models that we know will fail to build, and call
`model_rebuild`
in the `__init__.py` file.

Co-authored-by: knope-bot[bot] <152252888+knope-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants