pax_global_header 0000666 0000000 0000000 00000000064 14761730427 0014525 g ustar 00root root 0000000 0000000 52 comment=36486be35f471cf185ad5b91881d7a977c1770af
cached-ipaddress-0.10.0/ 0000775 0000000 0000000 00000000000 14761730427 0014766 5 ustar 00root root 0000000 0000000 cached-ipaddress-0.10.0/.all-contributorsrc 0000664 0000000 0000000 00000000454 14761730427 0020622 0 ustar 00root root 0000000 0000000 {
"projectName": "cached-ipaddress",
"projectOwner": "bdraco",
"repoType": "github",
"repoHost": "https://github.com",
"files": [
"README.md"
],
"imageSize": 80,
"commit": true,
"commitConvention": "angular",
"contributors": [],
"contributorsPerLine": 7,
"skipCi": true
}
cached-ipaddress-0.10.0/.copier-answers.yml 0000664 0000000 0000000 00000001037 14761730427 0020531 0 ustar 00root root 0000000 0000000 # Changes here will be overwritten by Copier
_commit: a2d5d1c
_src_path: gh:browniebroke/pypackage-template
add_me_as_contributor: false
copyright_year: '2023'
documentation: false
email: nick@koston.org
full_name: J. Nick Koston
github_username: bdraco
has_cli: false
initial_commit: true
open_source_license: MIT
package_name: cached_ipaddress
project_name: cached-ipaddress
project_short_description: Cache construction of ipaddress objects
project_slug: cached-ipaddress
run_poetry_install: true
setup_github: true
setup_pre_commit: true
cached-ipaddress-0.10.0/.editorconfig 0000664 0000000 0000000 00000000444 14761730427 0017445 0 ustar 00root root 0000000 0000000 # http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf
[*.bat]
indent_style = tab
end_of_line = crlf
[LICENSE]
insert_final_newline = false
[Makefile]
indent_style = tab
cached-ipaddress-0.10.0/.github/ 0000775 0000000 0000000 00000000000 14761730427 0016326 5 ustar 00root root 0000000 0000000 cached-ipaddress-0.10.0/.github/ISSUE_TEMPLATE/ 0000775 0000000 0000000 00000000000 14761730427 0020511 5 ustar 00root root 0000000 0000000 cached-ipaddress-0.10.0/.github/ISSUE_TEMPLATE/1-bug_report.md 0000664 0000000 0000000 00000000422 14761730427 0023337 0 ustar 00root root 0000000 0000000 ---
name: Bug report
about: Create a report to help us improve
labels: bug
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
**Additional context**
Add any other context about the problem here.
cached-ipaddress-0.10.0/.github/ISSUE_TEMPLATE/2-feature-request.md 0000664 0000000 0000000 00000000672 14761730427 0024320 0 ustar 00root root 0000000 0000000 ---
name: Feature request
about: Suggest an idea for this project
labels: enhancement
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Additional context**
Add any other context or screenshots about the feature request here.
cached-ipaddress-0.10.0/.github/dependabot.yml 0000664 0000000 0000000 00000001344 14761730427 0021160 0 ustar 00root root 0000000 0000000 # To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
commit-message:
prefix: "chore(ci): "
groups:
github-actions:
patterns:
- "*"
- package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
cached-ipaddress-0.10.0/.github/workflows/ 0000775 0000000 0000000 00000000000 14761730427 0020363 5 ustar 00root root 0000000 0000000 cached-ipaddress-0.10.0/.github/workflows/ci.yml 0000664 0000000 0000000 00000016305 14761730427 0021506 0 ustar 00root root 0000000 0000000 name: CI
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: pre-commit/action@v3.0.1
# Make sure commit messages follow the conventional commits convention:
# https://www.conventionalcommits.org
commitlint:
name: Lint Commit Messages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v6.2.1
test:
strategy:
fail-fast: false
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
os:
- ubuntu-latest
- macOS-latest
extension:
- "skip_cython"
- "use_cython"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: snok/install-poetry@v1.4.1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
- name: Install Dependencies
run: |
if [ "${{ matrix.extension }}" = "skip_cython" ]; then
SKIP_CYTHON=1 poetry install --only=main,dev
else
REQUIRE_CYTHON=1 poetry install --only=main,dev
fi
shell: bash
- name: Test with Pytest
run: poetry run pytest --durations=20 -v --cov=src --cov-branch --cov-report xml --cov-report html --cov-report term-missing tests
shell: bash
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
release:
needs:
- test
- lint
- commitlint
runs-on: ubuntu-latest
environment: release
concurrency: release
permissions:
id-token: write
contents: write
outputs:
released: ${{ steps.release.outputs.released }}
newest_release_tag: ${{ steps.release.outputs.tag }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.head_ref || github.ref_name }}
# Do a dry run of PSR
- name: Test release
uses: python-semantic-release/python-semantic-release@v9.21.0
if: github.ref_name != 'main'
with:
root_options: --noop
# On main branch: actual PSR + upload to PyPI & GitHub
- name: Release
uses: python-semantic-release/python-semantic-release@v9.21.0
id: release
if: github.ref_name == 'main'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
if: steps.release.outputs.released == 'true'
- name: Publish package distributions to GitHub Releases
uses: python-semantic-release/upload-to-gh-release@main
if: steps.release.outputs.released == 'true'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
build_wheels:
needs: [release]
if: needs.release.outputs.released == 'true'
name: Wheels for ${{ matrix.os }} (${{ matrix.musl == 'musllinux' && 'musllinux' || 'manylinux' }}) ${{ matrix.qemu }} ${{ matrix.pyver }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
[
windows-latest,
ubuntu-24.04-arm,
ubuntu-latest,
macos-13,
macos-latest,
]
qemu: [""]
musl: [""]
pyver: [""]
include:
- os: ubuntu-latest
musl: "musllinux"
- os: ubuntu-24.04-arm
musl: "musllinux"
# qemu is slow, make a single
# runner per Python version
- os: ubuntu-latest
qemu: armv7l
musl: "musllinux"
pyver: cp39
- os: ubuntu-latest
qemu: armv7l
musl: "musllinux"
pyver: cp310
- os: ubuntu-latest
qemu: armv7l
musl: "musllinux"
pyver: cp311
- os: ubuntu-latest
qemu: armv7l
musl: "musllinux"
pyver: cp312
- os: ubuntu-latest
qemu: armv7l
musl: "musllinux"
pyver: cp313
# qemu is slow, make a single
# runner per Python version
- os: ubuntu-latest
qemu: armv7l
musl: ""
pyver: cp39
- os: ubuntu-latest
qemu: armv7l
musl: ""
pyver: cp310
- os: ubuntu-latest
qemu: armv7l
musl: ""
pyver: cp311
- os: ubuntu-latest
qemu: armv7l
musl: ""
pyver: cp312
- os: ubuntu-latest
qemu: armv7l
musl: ""
pyver: cp313
steps:
- uses: actions/checkout@v4
with:
ref: ${{ needs.release.outputs.newest_release_tag }}
fetch-depth: 0
# Used to host cibuildwheel
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Set up QEMU
if: ${{ matrix.qemu }}
uses: docker/setup-qemu-action@v3
with:
platforms: all
# This should be temporary
# xref https://github.com/docker/setup-qemu-action/issues/188
# xref https://github.com/tonistiigi/binfmt/issues/215
image: tonistiigi/binfmt:qemu-v8.1.5
id: qemu
- name: Prepare emulation
if: ${{ matrix.qemu }}
run: |
if [[ -n "${{ matrix.qemu }}" ]]; then
# Build emulated architectures only if QEMU is set,
# use default "auto" otherwise
echo "CIBW_ARCHS_LINUX=${{ matrix.qemu }}" >> $GITHUB_ENV
fi
- name: Limit to a specific Python version on slow QEMU
if: ${{ matrix.pyver }}
run: |
if [[ -n "${{ matrix.pyver }}" ]]; then
echo "CIBW_BUILD=${{ matrix.pyver }}*" >> $GITHUB_ENV
fi
- name: Build wheels
uses: pypa/cibuildwheel@v2.23.0
env:
CIBW_SKIP: cp36-* cp37-* cp38-* pp* ${{ matrix.musl == 'musllinux' && '*manylinux*' || '*musllinux*' }}
REQUIRE_CYTHON: 1
- uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}-${{ matrix.musl }}-${{ matrix.pyver }}-${{ matrix.qemu }}
path: ./wheelhouse/*.whl
upload_pypi:
needs: [build_wheels]
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- uses: actions/download-artifact@v4
with:
# unpacks default artifact into dist/
# if `name: artifact` is omitted, the action will create extra parent dir
path: dist
pattern: wheels-*
merge-multiple: true
- uses:
pypa/gh-action-pypi-publish@v1.12.4
# To test: repository_url: https://test.pypi.org/legacy/
cached-ipaddress-0.10.0/.github/workflows/hacktoberfest.yml 0000664 0000000 0000000 00000000534 14761730427 0023734 0 ustar 00root root 0000000 0000000 name: Hacktoberfest
on:
schedule:
# Run every day in October
- cron: "0 0 * 10 *"
# Run on the 1st of November to revert
- cron: "0 13 1 11 *"
jobs:
hacktoberfest:
runs-on: ubuntu-latest
steps:
- uses: browniebroke/hacktoberfest-labeler-action@v2.3.0
with:
github_token: ${{ secrets.GH_PAT }}
cached-ipaddress-0.10.0/.github/workflows/issue-manager.yml 0000664 0000000 0000000 00000001340 14761730427 0023644 0 ustar 00root root 0000000 0000000 name: Issue Manager
on:
schedule:
- cron: "0 0 * * *"
issue_comment:
types:
- created
issues:
types:
- labeled
pull_request_target:
types:
- labeled
workflow_dispatch:
jobs:
issue-manager:
runs-on: ubuntu-latest
steps:
- uses: tiangolo/issue-manager@0.5.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: >
{
"answered": {
"message": "Assuming the original issue was solved, it will be automatically closed now."
},
"waiting": {
"message": "Automatically closing. To re-open, please provide the additional information requested."
}
}
cached-ipaddress-0.10.0/.github/workflows/poetry-upgrade.yml 0000664 0000000 0000000 00000000341 14761730427 0024053 0 ustar 00root root 0000000 0000000 name: Upgrader
on:
workflow_dispatch:
schedule:
- cron: "32 10 24 * *"
jobs:
upgrade:
uses: browniebroke/github-actions/.github/workflows/poetry-upgrade.yml@v1
secrets:
gh_pat: ${{ secrets.GH_PAT }}
cached-ipaddress-0.10.0/.gitignore 0000664 0000000 0000000 00000004110 14761730427 0016752 0 ustar 00root root 0000000 0000000 # Created by .ignore support plugin (hsz.mobi)
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder {{package_name}} settings
.spyderproject
.spyproject
# Rope {{package_name}} settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
cached-ipaddress-0.10.0/.gitpod.yml 0000664 0000000 0000000 00000000306 14761730427 0017054 0 ustar 00root root 0000000 0000000 tasks:
- command: |
pip install poetry
PIP_USER=false poetry install
- command: |
pip install pre-commit
pre-commit install
PIP_USER=false pre-commit install-hooks
cached-ipaddress-0.10.0/.idea/ 0000775 0000000 0000000 00000000000 14761730427 0015746 5 ustar 00root root 0000000 0000000 cached-ipaddress-0.10.0/.idea/cached-ipaddress.iml 0000664 0000000 0000000 00000000515 14761730427 0021635 0 ustar 00root root 0000000 0000000
cached-ipaddress-0.10.0/.idea/watcherTasks.xml 0000664 0000000 0000000 00000005253 14761730427 0021140 0 ustar 00root root 0000000 0000000
cached-ipaddress-0.10.0/.idea/workspace.xml 0000664 0000000 0000000 00000002736 14761730427 0020476 0 ustar 00root root 0000000 0000000
cached-ipaddress-0.10.0/.pre-commit-config.yaml 0000664 0000000 0000000 00000003163 14761730427 0021252 0 ustar 00root root 0000000 0000000 # See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
exclude: "CHANGELOG.md|.copier-answers.yml|.all-contributorsrc"
default_stages: [pre-commit]
ci:
autofix_commit_msg: "chore(pre-commit.ci): auto fixes"
autoupdate_commit_msg: "chore(pre-commit.ci): pre-commit autoupdate"
repos:
- repo: https://github.com/commitizen-tools/commitizen
rev: v4.4.1
hooks:
- id: commitizen
stages: [commit-msg]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: debug-statements
- id: check-builtin-literals
- id: check-case-conflict
- id: check-docstring-first
- id: check-json
- id: check-toml
- id: check-xml
- id: check-yaml
- id: detect-private-key
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/python-poetry/poetry
rev: 2.1.1
hooks:
- id: poetry-check
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
args: ["--tab-width", "2"]
additional_dependencies:
- prettier@3.5.1
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.9
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- repo: https://github.com/psf/black
rev: 25.1.0
hooks:
- id: black
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.15.0
hooks:
- id: mypy
additional_dependencies: []
cached-ipaddress-0.10.0/CHANGELOG.md 0000664 0000000 0000000 00000005602 14761730427 0016602 0 ustar 00root root 0000000 0000000 # Changelog
## v0.10.0 (2025-03-05)
### Features
- Reduce size of wheels (#53) ([`9db200c`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/9db200cd738c7b1db3b651bb03bfb4756386d87e))
## v0.9.2 (2025-02-25)
### Bug fixes
- Ensure build .c files to not ship to reduce package size (#49) ([`cbea8aa`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/cbea8aab457006a1e763e96a9861e6b46e83d43e))
## v0.9.1 (2025-02-25)
### Bug fixes
- Use trusted uploads for all paths (#48) ([`34958f0`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/34958f08e8fc2b1d65b01343ce8694259b79258e))
## v0.9.0 (2025-02-25)
### Features
- Add pre-built wheels (#47) ([`5d0d7ed`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/5d0d7edbf9d5fd28d66d37634f6b777fe93903be))
## v0.8.1 (2025-02-22)
### Bug fixes
- Update repo links to use bluetooth-devices (#42) ([`8e5ebf4`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/8e5ebf474f21cc389dc40ff16c5cb94447294fb8))
## v0.8.0 (2024-10-06)
### Features
- Add support for propcache v1.0.0+ (#26) ([`f5ac45b`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/f5ac45bb3c82c38f989494a26b7a773b807c16a2))
## v0.7.0 (2024-10-03)
### Features
- Switch from stdlib cached_property to propcache cached_property (#25) ([`217d978`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/217d978f812ebdcfd0a964ff432be4d075deaaf6))
## v0.6.0 (2024-09-23)
### Features
- Add cache for compressed (#22) ([`4afea62`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/4afea62ac571fb79859cbe174dccf250d704fc04))
## v0.5.0 (2024-08-26)
### Features
- Add python version classifiers (#17) ([`c87a639`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/c87a639f7d5d7f14ab62a8c7f072bd48440acf27))
## v0.4.0 (2024-08-26)
### Features
- Python 3.13 support (#16) ([`75a01d4`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/75a01d4c5b6e3ee336a3f0e101a5df71510ffb9c))
- Cache hash as well (#15) ([`282a8ad`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/282a8ad722d8ee09cc3961f85f989e90a93093ee))
## v0.3.0 (2023-12-17)
### Features
- Add reverse_pointer to the cache (#4) ([`98f7ae3`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/98f7ae3d1e5b3c03f34392093257594915e55d2a))
## v0.2.0 (2023-12-16)
### Features
- Add is_multicast to the list of cached properties (#3) ([`b5f4941`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/b5f4941b83dc983bab88bf04a0bcf8a5bc7c60af))
## v0.1.0 (2023-12-16)
### Features
- First version (#2) ([`44bf9b7`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/44bf9b78f2740f5114bf89a664f5bb42c20c8502))
## v0.0.1 (2023-12-16)
### Bug fixes
- Reserve name on pypi (#1) ([`c979f69`](https://github.com/Bluetooth-Devices/cached-ipaddress/commit/c979f69f82763d4231ea9662d320ef552f35c601))
## v0.0.0 (2023-12-16)
cached-ipaddress-0.10.0/CONTRIBUTING.md 0000664 0000000 0000000 00000007456 14761730427 0017233 0 ustar 00root root 0000000 0000000 # Contributing
Contributions are welcome, and they are greatly appreciated! Every little helps, and credit will always be given.
You can contribute in many ways:
## Types of Contributions
### Report Bugs
Report bugs to [our issue page][gh-issues]. If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
### Fix Bugs
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help wanted" is open to whoever wants to implement it.
### Implement Features
Look through the GitHub issues for features. Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.
### Write Documentation
cached-ipaddress could always use more documentation, whether as part of the official cached-ipaddress docs, in docstrings, or even on the web in blog posts, articles, and such.
### Submit Feedback
The best way to send feedback [our issue page][gh-issues] on GitHub. If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that contributions are welcome 😊
## Get Started!
Ready to contribute? Here's how to set yourself up for local development.
1. Fork the repo on GitHub.
2. Clone your fork locally:
```shell
$ git clone git@github.com:your_name_here/cached-ipaddress.git
```
3. Install the project dependencies with [Poetry](https://python-poetry.org):
```shell
$ poetry install
```
4. Create a branch for local development:
```shell
$ git checkout -b name-of-your-bugfix-or-feature
```
Now you can make your changes locally.
5. When you're done making changes, check that your changes pass our tests:
```shell
$ poetry run pytest
```
6. Linting is done through [pre-commit](https://pre-commit.com). Provided you have the tool installed globally, you can run them all as one-off:
```shell
$ pre-commit run -a
```
Or better, install the hooks once and have them run automatically each time you commit:
```shell
$ pre-commit install
```
7. Commit your changes and push your branch to GitHub:
```shell
$ git add .
$ git commit -m "feat(something): your detailed description of your changes"
$ git push origin name-of-your-bugfix-or-feature
```
Note: the commit message should follow [the conventional commits](https://www.conventionalcommits.org). We run [`commitlint` on CI](https://github.com/marketplace/actions/commit-linter) to validate it, and if you've installed pre-commit hooks at the previous step, the message will be checked at commit time.
8. Submit a pull request through the GitHub website or using the GitHub CLI (if you have it installed):
```shell
$ gh pr create --fill
```
## Pull Request Guidelines
We like to have the pull request open as soon as possible, that's a great place to discuss any piece of work, even unfinished. You can use draft pull request if it's still a work in progress. Here are a few guidelines to follow:
1. Include tests for feature or bug fixes.
2. Update the documentation for significant features.
3. Ensure tests are passing on CI.
## Tips
To run a subset of tests:
```shell
$ pytest tests
```
## Making a new release
The deployment should be automated and can be triggered from the Semantic Release workflow in GitHub. The next version will be based on [the commit logs](https://python-semantic-release.readthedocs.io/en/latest/commit-log-parsing.html#commit-log-parsing). This is done by [python-semantic-release](https://python-semantic-release.readthedocs.io/en/latest/index.html) via a GitHub action.
[gh-issues]: https://github.com/bluetooth-devices/cached-ipaddress/issues
cached-ipaddress-0.10.0/LICENSE 0000664 0000000 0000000 00000002060 14761730427 0015771 0 ustar 00root root 0000000 0000000
MIT License
Copyright (c) 2023 J. Nick Koston
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
cached-ipaddress-0.10.0/README.md 0000664 0000000 0000000 00000007717 14761730427 0016261 0 ustar 00root root 0000000 0000000 # cached-ipaddress