Skip to content

Commit

Permalink
Drop support for Python 3.8 (#58)
Browse files Browse the repository at this point in the history
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
joshuadavidthomas and pre-commit-ci[bot] authored Jan 21, 2025
1 parent c7ed159 commit 9ba1758
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 28 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

- uses: westerveltco/setup-ci-action@v0
with:
python-version: 3.8
python-version: 3.9
extra-python-dependencies: nox
use-uv: true

Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:

- uses: westerveltco/setup-ci-action@v0
with:
python-version: 3.8
python-version: 3.9
extra-python-dependencies: nox
use-uv: true

Expand All @@ -97,7 +97,7 @@ jobs:

- uses: westerveltco/setup-ci-action@v0
with:
python-version: 3.8
python-version: 3.9
extra-python-dependencies: nox
use-uv: true

Expand Down
46 changes: 25 additions & 21 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,43 +18,47 @@ and this project attempts to adhere to [Semantic Versioning](https://semver.org/

## [Unreleased]

### Removed

- Dropped support for Python 3.8.

## [0.1.1]

### Changed

- Changed exception raised if `op` CLI not found to `RuntimeError`.
- Changed exception raised if `op` CLI not found to `RuntimeError`.

### Fixed

- Removed the passing in of just the `OP_SERVICE_ACCOUNT_TOKEN` variable to the `subprocess.run` call to `op`. This was clobbering the environment and causing configuration issues with the `op` CLI. First reported in [#12](https://github.com/westerveltco/django-opfield/issues/12) by [@joshuadavidthomas](https://github.com/joshuadavidthomas).
- Removed the passing in of just the `OP_SERVICE_ACCOUNT_TOKEN` variable to the `subprocess.run` call to `op`. This was clobbering the environment and causing configuration issues with the `op` CLI. First reported in [#12](https://github.com/westerveltco/django-opfield/issues/12) by [@joshuadavidthomas](https://github.com/joshuadavidthomas).

### New Contributors!
### New Contributors

- Jeff Triplett [@jefftriplett](https://github.com/jefftriplett) in [#13](https://github.com/westerveltco/django-opfield/pull/13)
- Jeff Triplett [@jefftriplett](https://github.com/jefftriplett) in [#13](https://github.com/westerveltco/django-opfield/pull/13)

## [0.1.0]

Initial release! 🎉

### Added

- A custom model field `OPField` for storing references to items in a 1Password vault.
- Store a reference to an item in the vault using the `op://` secret reference URI.
- Access the secret stored via a `<field_name>_secret` attribute on the model.
- Restrict which vaults can be used in the field to a list of vault names, passed in the `vaults` argument to the field.
- Explicitly set the name of the secret field in the model, via the `secret_name` argument to the field.
- A custom `OPURIValidator` class for validating 1Password URIs passed to the field.
- Initial application configuration options:
- `OP_COMMAND_TIMEOUT`: for setting the timeout for `op` commands, defaults to 5 seconds.
- `OP_CLI_PATH`: for setting the path to the `op` executable, defaults to using `shutil.which('op')`. If `op` is not found, an exception will be raised.
- `OP_SERVICE_ACCOUNT_TOKEN`: for setting the 1Password service account token, defaults to using the value of the `OP_SERVICE_ACCOUNT_TOKEN` environment variable. If not set, an exception will be raised.
- Initial documentation.
- Initial tests.
- Initial CI/CD.

### New Contributors!

- Josh Thomas <[email protected]> (maintainer)
- A custom model field `OPField` for storing references to items in a 1Password vault.
- Store a reference to an item in the vault using the `op://` secret reference URI.
- Access the secret stored via a `<field_name>_secret` attribute on the model.
- Restrict which vaults can be used in the field to a list of vault names, passed in the `vaults` argument to the field.
- Explicitly set the name of the secret field in the model, via the `secret_name` argument to the field.
- A custom `OPURIValidator` class for validating 1Password URIs passed to the field.
- Initial application configuration options:
- `OP_COMMAND_TIMEOUT`: for setting the timeout for `op` commands, defaults to 5 seconds.
- `OP_CLI_PATH`: for setting the path to the `op` executable, defaults to using `shutil.which('op')`. If `op` is not found, an exception will be raised.
- `OP_SERVICE_ACCOUNT_TOKEN`: for setting the 1Password service account token, defaults to using the value of the `OP_SERVICE_ACCOUNT_TOKEN` environment variable. If not set, an exception will be raised.
- Initial documentation.
- Initial tests.
- Initial CI/CD.

### New Contributors

- Josh Thomas <[email protected]> (maintainer)

[unreleased]: https://github.com/westerveltco/django-opfield/compare/v0.1.1...HEAD
[0.1.0]: https://github.com/westerveltco/django-opfield/releases/tag/v0.1.0
Expand Down
3 changes: 1 addition & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@
nox.options.default_venv_backend = "uv|virtualenv"
nox.options.reuse_existing_virtualenvs = True

PY38 = "3.8"
PY39 = "3.9"
PY310 = "3.10"
PY311 = "3.11"
PY312 = "3.12"
PY_VERSIONS = [PY38, PY39, PY310, PY311, PY312]
PY_VERSIONS = [PY39, PY310, PY311, PY312]
PY_DEFAULT = PY_VERSIONS[0]
PY_LATEST = PY_VERSIONS[-1]

Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
Expand All @@ -28,7 +27,7 @@ keywords = []
license = {file = "LICENSE"}
name = "django-opfield"
readme = "README.md"
requires-python = ">=3.8"
requires-python = ">=3.9"

[project.optional-dependencies]
dev = [
Expand Down

0 comments on commit 9ba1758

Please sign in to comment.