Skip to content

Commit e07833b

Browse files
committed
Update contributing guide
1 parent c301c01 commit e07833b

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

CONTRIBUTING.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ To set up for local development (requires [poetry](https://python-poetry.org/doc
66
```bash
77
$ git clone https://github.com/requests-cache/aiohttp-client-cache
88
$ cd aiohttp-client-cache
9-
$ poetry install -E backends -E docs
9+
$ poetry install -E all -E docs
1010
```
1111

1212
## Pre-commit hooks
@@ -115,12 +115,27 @@ Here are some general guidelines for submitting a pull request:
115115
- If your changes add or modify user-facing behavior, add documentation describing those changes
116116
- Submit the PR to be merged into the `main` branch.
117117

118-
## Releases
119-
Releases are built and published to pypi based on **git tags.**
120-
[Milestones](https://github.com/requests-cache/aiohttp-client-cache/milestones) will be used to track
118+
## Notes for Maintainers
119+
120+
### Releases
121+
* Releases are built and published to PyPI based on **git tags.**
122+
* [Milestones](https://github.com/requests-cache/aiohttp-client-cache/milestones) will be used to track
121123
progress on major and minor releases.
124+
* GitHub Actions will build and deploy packages to PyPI on tagged commits
125+
on the `main` branch.
126+
127+
Release steps:
128+
* Update the version in both `pyproject.toml` and `aiohttp_client_cache/__init__.py`
129+
* Make sure the release notes in `HISTORY.md` are up to date
130+
* Push a new tag, e.g.: `git tag v0.1 && git push origin --tags`
131+
* This will trigger a deployment. Verify that this completes successfully and that the new version can be installed from pypi with `pip install`
132+
* A [readthedocs build](https://readthedocs.org/projects/aiohttp-client-cache/builds/) will be triggered by the new tag. Verify that this completes successfully.
133+
134+
Downstream builds:
135+
* We also maintain a [Conda package](https://anaconda.org/conda-forge/aiohttp-client-cache), which is automatically built and published by conda-forge whenever a new release is published to PyPI. The [feedstock repo](https://github.com/conda-forge/aiohttp-client-cache-feedstock) only needs to be updated manually if there are changes to dependencies.
136+
* For reference: [repology](https://repology.org/project/python:aiohttp-client-cache) lists additional downstream packages maintained by other developers.
122137

123-
## Code Layout
138+
### Code Layout
124139
Here is a brief overview of the main classes and modules. See [API Reference](https://aiohttp-client-cache.readthedocs.io/en/latest/reference.html) for more complete documentation.
125140
* `session.CacheMixin`, `session.CachedSession`: A mixin and wrapper class, respectively, for `aiohttp.ClientSession`. There is little logic here except wrapping `ClientSession._request()` with caching behavior.
126141
* `response.CachedResponse`: A wrapper class built from an `aiohttp.ClientResponse`, with additional cache-related info. This is what is serialized and persisted to the cache.

HISTORY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# History
22

3-
## (Unreleased)
3+
## 0.11.0
44

55
Features
66
--------

0 commit comments

Comments
 (0)