You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -115,12 +115,27 @@ Here are some general guidelines for submitting a pull request:
115
115
- If your changes add or modify user-facing behavior, add documentation describing those changes
116
116
- Submit the PR to be merged into the `main` branch.
117
117
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
121
123
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.
122
137
123
-
## Code Layout
138
+
###Code Layout
124
139
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.
125
140
*`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.
126
141
*`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.
0 commit comments