summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@debian.org>2026-03-17 13:00:00 +0000
committergit-ubuntu importer <ubuntu-devel-discuss@lists.ubuntu.com>2026-03-17 16:44:00 +0000
commitfd811c1b6a3566e6950a0f0a90b4ecaf092e7438 (patch)
tree471df90e28b171aa664ac73f667635809e36eb8a
parenta8bdb892993d7eba37b8114712b357edb59322e7 (diff)
Imported using git-ubuntu import.
Notes
Notes: * Drop pgpsigmangle for pypi. * New upstream release. * Update watch file format version to 5. * Use PyPI template in watch file instead of explicit Source/Matching-Pattern. * Upgrade upstream signing key to new packet format. * Update standards version to 4.6.2, no changes needed. * Drop no longer used upstream signing key.
-rw-r--r--.github/dependabot.yaml13
-rw-r--r--.github/workflows/auto-merge.yml22
-rw-r--r--.github/workflows/disperse.yml14
-rw-r--r--.github/workflows/pythonpackage.yml45
-rw-r--r--.github/workflows/wheels.yaml94
-rw-r--r--.gitignore15
-rw-r--r--CODE_OF_CONDUCT.md76
-rw-r--r--Cargo.lock172
-rw-r--r--Cargo.toml4
-rw-r--r--PKG-INFO60
-rw-r--r--SECURITY.md5
-rw-r--r--debian/cargo_home/.package-cache0
-rw-r--r--debian/cargo_home/.package-cache-mutate0
-rw-r--r--debian/changelog12
-rw-r--r--debian/control6
-rw-r--r--debian/upstream/signing-key.asc740
-rw-r--r--debian/watch6
-rw-r--r--disperse.toml8
-rw-r--r--fastbencode.egg-info/PKG-INFO60
-rw-r--r--fastbencode.egg-info/SOURCES.txt17
-rw-r--r--fastbencode.egg-info/dependency_links.txt1
-rw-r--r--fastbencode.egg-info/requires.txt6
-rw-r--r--fastbencode.egg-info/top_level.txt1
-rw-r--r--fastbencode/__init__.py2
-rw-r--r--pyproject.toml2
-rw-r--r--setup.cfg4
26 files changed, 172 insertions, 1213 deletions
diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml
deleted file mode 100644
index ecdad45..0000000
--- a/.github/dependabot.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-# Keep GitHub Actions up to date with GitHub's Dependabot...
-# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
-# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
-version: 2
-updates:
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: weekly
- - package-ecosystem: "pip"
- directory: "/"
- schedule:
- interval: weekly
diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml
deleted file mode 100644
index 5657575..0000000
--- a/.github/workflows/auto-merge.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Dependabot auto-merge
-on: pull_request_target
-
-permissions:
- pull-requests: write
- contents: write
-
-jobs:
- dependabot:
- runs-on: ubuntu-latest
- if: ${{ github.actor == 'dependabot[bot]' }}
- steps:
- - name: Dependabot metadata
- id: metadata
- uses: dependabot/fetch-metadata@v2
- with:
- github-token: "${{ secrets.GITHUB_TOKEN }}"
- - name: Enable auto-merge for Dependabot PRs
- run: gh pr merge --auto --squash "$PR_URL"
- env:
- PR_URL: ${{github.event.pull_request.html_url}}
- GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/.github/workflows/disperse.yml b/.github/workflows/disperse.yml
deleted file mode 100644
index df9197f..0000000
--- a/.github/workflows/disperse.yml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-name: Disperse configuration
-
-"on":
- - push
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v6
- - uses: jelmer/action-disperse-validate@v2
diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml
deleted file mode 100644
index c9f81c6..0000000
--- a/.github/workflows/pythonpackage.yml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-name: Python package
-
-"on": [push, pull_request]
-
-jobs:
- build:
-
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
- fail-fast: false
-
- steps:
- - uses: actions/checkout@v6
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v6
- with:
- python-version: ${{ matrix.python-version }}
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip cython
- pip install -U pip ".[dev]"
- - name: Style checks
- run: |
- python -m ruff check .
- python -m ruff format --check .
- - name: Test suite run (pure Python)
- run: |
- python -m unittest tests.test_suite
- env:
- PYTHONHASHSEED: random
- - name: Run cargo fmt
- run: |
- cargo fmt --all -- --check
- - name: Install in editable mode
- run: |
- pip install -e .
- - name: Test suite run (with Rust extension)
- run: |
- python -m unittest tests.test_suite
- env:
- PYTHONHASHSEED: random
diff --git a/.github/workflows/wheels.yaml b/.github/workflows/wheels.yaml
deleted file mode 100644
index 7563738..0000000
--- a/.github/workflows/wheels.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
----
-name: Build Python distributions
-
-"on":
- push:
- pull_request:
- schedule:
- - cron: "0 6 * * *" # Daily 6AM UTC build
-
-jobs:
- build-wheels:
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- fail-fast: true
-
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-python@v6
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- pip install setuptools wheel cibuildwheel setuptools-rust
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v3
- if: "matrix.os == 'ubuntu-latest'"
- - name: Build wheels
- run: python -m cibuildwheel --output-dir wheelhouse
- - name: Upload wheels
- uses: actions/upload-artifact@v5
- with:
- name: artifact-${{ matrix.os }}
- path: ./wheelhouse/*.whl
-
- build-sdist:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-python@v6
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- pip install build
- - name: Build sdist
- run: python -m build --sdist
- - name: Upload sdist
- uses: actions/upload-artifact@v5
- with:
- name: artifact-sdist
- path: ./dist/*.tar.gz
-
- test-sdist:
- needs:
- - build-sdist
- runs-on: ubuntu-latest
- steps:
- - uses: actions/setup-python@v6
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- # Upgrade packging to avoid a bug in twine.
- # See https://github.com/pypa/twine/issues/1216
- pip install "twine>=6.1.0" "packaging>=24.2"
- - name: Download sdist
- uses: actions/download-artifact@v6
- with:
- name: artifact-sdist
- path: dist
- - name: Test sdist
- run: twine check dist/*
- - name: Test installation from sdist
- run: pip install dist/*.tar.gz
-
- publish:
- runs-on: ubuntu-latest
- needs:
- - build-wheels
- - build-sdist
- if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
- permissions:
- id-token: write
- environment:
- name: pypi
- url: https://pypi.org/p/fastbencode
- steps:
- - name: Download distributions
- uses: actions/download-artifact@v6
- with:
- merge-multiple: true
- pattern: artifact-*
- path: dist
- - name: Publish package distributions to PyPI
- uses: pypa/gh-action-pypi-publish@release/v1
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 54d5b90..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-*.so
-build
-__pycache__
-fastbencode.egg-info
-*.pyc
-dist
-*~
-.mypy_cache
-*.swp
-*.swo
-*.swn
-
-# Rust
-target/
-**/*.rs.bk
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index 21d383a..0000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, sex characteristics, gender identity and expression,
-level of experience, education, socioeconomic status, nationality, personal
-appearance, race, religion, or sexual identity and orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at core@breezy-vcs.org. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
diff --git a/Cargo.lock b/Cargo.lock
deleted file mode 100644
index d41a38d..0000000
--- a/Cargo.lock
+++ /dev/null
@@ -1,172 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "autocfg"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
-
-[[package]]
-name = "fastbencode"
-version = "0.3.8"
-dependencies = [
- "pyo3",
-]
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "indoc"
-version = "2.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
-dependencies = [
- "rustversion",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.178"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
-
-[[package]]
-name = "memoffset"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.21.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
-
-[[package]]
-name = "portable-atomic"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.103"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pyo3"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
-dependencies = [
- "indoc",
- "libc",
- "memoffset",
- "once_cell",
- "portable-atomic",
- "pyo3-build-config",
- "pyo3-ffi",
- "pyo3-macros",
- "unindent",
-]
-
-[[package]]
-name = "pyo3-build-config"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
-dependencies = [
- "target-lexicon",
-]
-
-[[package]]
-name = "pyo3-ffi"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
-dependencies = [
- "libc",
- "pyo3-build-config",
-]
-
-[[package]]
-name = "pyo3-macros"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
-dependencies = [
- "proc-macro2",
- "pyo3-macros-backend",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pyo3-macros-backend"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
-dependencies = [
- "heck",
- "proc-macro2",
- "pyo3-build-config",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
-
-[[package]]
-name = "syn"
-version = "2.0.111"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "target-lexicon"
-version = "0.13.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
-
-[[package]]
-name = "unindent"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
diff --git a/Cargo.toml b/Cargo.toml
index c7c4d7c..c3c8705 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "fastbencode"
-version = "0.3.8"
+version = "0.3.10"
edition = "2021"
authors = ["Jelmer Vernooij <jelmer@jelmer.uk>"]
license = "Apache-2.0"
@@ -14,4 +14,4 @@ name = "fastbencode__bencode_rs"
crate-type = ["cdylib"]
[dependencies]
-pyo3 = { version = "0.27", features = ["extension-module"] }
+pyo3 = { version = "0.28", features = ["extension-module"] }
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..75dae68
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,60 @@
+Metadata-Version: 2.4
+Name: fastbencode
+Version: 0.3.10
+Summary: Implementation of bencode with optional fast Rust extensions
+Maintainer-email: Breezy Developers <breezy-core@googlegroups.com>
+License-Expression: Apache-2.0
+Project-URL: Homepage, https://github.com/breezy-team/fastbencode
+Project-URL: GitHub, https://github.com/breezy-team/fastbencode
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: Microsoft :: Windows
+Requires-Python: >=3.10
+Description-Content-Type: text/markdown
+License-File: COPYING
+Provides-Extra: rust
+Requires-Dist: setuptools-rust>=1.0.0; extra == "rust"
+Provides-Extra: dev
+Requires-Dist: ruff==0.15.6; extra == "dev"
+Dynamic: license-file
+
+fastbencode
+===========
+
+fastbencode is an implementation of the bencode serialization format originally
+used by BitTorrent.
+
+The package includes both a pure-Python version and an optional Rust extension
+based on PyO3. Both provide the same functionality, but the Rust extension
+provides significantly better performance.
+
+Example:
+
+ >>> from fastbencode import bencode, bdecode
+ >>> bencode([1, 2, b'a', {b'd': 3}])
+ b'li1ei2e1:ad1:di3eee'
+ >>> bdecode(bencode([1, 2, b'a', {b'd': 3}]))
+ [1, 2, b'a', {b'd': 3}]
+
+The default ``bencode``/``bdecode`` functions just operate on
+bytestrings. Use ``bencode_utf8`` / ``bdecode_utf8`` to
+serialize/deserialize all plain strings as UTF-8 bytestrings.
+Note that for performance reasons, all dictionary keys still have to be
+bytestrings.
+
+License
+=======
+fastbencode is available under the Apache License, version 2.
+
+Copyright
+=========
+
+* Original Pure-Python bencoder © Petru Paler
+* Split out from Bazaar/Breezy by Jelmer Vernooij
+* Rust extension © Jelmer Vernooij
diff --git a/SECURITY.md b/SECURITY.md
deleted file mode 100644
index f9c320b..0000000
--- a/SECURITY.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Security Policy
-
-## Reporting a Vulnerability
-
-Please report security issues by e-mail to core@breezy-vcs.org.
diff --git a/debian/cargo_home/.package-cache b/debian/cargo_home/.package-cache
deleted file mode 100644
index e69de29..0000000
--- a/debian/cargo_home/.package-cache
+++ /dev/null
diff --git a/debian/cargo_home/.package-cache-mutate b/debian/cargo_home/.package-cache-mutate
deleted file mode 100644
index e69de29..0000000
--- a/debian/cargo_home/.package-cache-mutate
+++ /dev/null
diff --git a/debian/changelog b/debian/changelog
index 52167d8..e209817 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+python-fastbencode (0.3.10-1) unstable; urgency=medium
+
+ * Drop pgpsigmangle for pypi.
+ * New upstream release.
+ * Update watch file format version to 5.
+ * Use PyPI template in watch file instead of explicit Source/Matching-Pattern.
+ * Upgrade upstream signing key to new packet format.
+ * Update standards version to 4.6.2, no changes needed.
+ * Drop no longer used upstream signing key.
+
+ -- Jelmer Vernooij <jelmer@debian.org> Tue, 17 Mar 2026 13:00:00 -0000
+
python-fastbencode (0.3.8-1) unstable; urgency=medium
* New upstream release.
diff --git a/debian/control b/debian/control
index 3c6d6e8..48bfc9b 100644
--- a/debian/control
+++ b/debian/control
@@ -1,11 +1,11 @@
Rules-Requires-Root: no
-Standards-Version: 4.5.1
+Standards-Version: 4.6.2
Build-Depends: debhelper-compat (= 13),
dh-sequence-python3,
cargo:native,
cython3,
- librust-pyo3-0.27+default-dev,
- librust-pyo3-0.27+extension-module-dev,
+ librust-pyo3-0.28+default-dev,
+ librust-pyo3-0.28+extension-module-dev,
libstd-rust-dev,
python3-all-dev,
python3-setuptools,
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
deleted file mode 100644
index ab5568c..0000000
--- a/debian/upstream/signing-key.asc
+++ /dev/null
@@ -1,740 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-AAoJEACAbyvXKaRXcQ0P/23tOfMis8J0KPI+QymR/dYj3I0xbXm3qCNVMeznnos4
-t/LQnsMvlgVfjkHaE6ScK9iOd7LqXEHDKPNOAbCLy4kyp9Ylw/hjCM5zR/S84wX3
-QdPsTvzdYwtmPr3zSbbkRK3vEKHQWyofXSFqPSeEJs6WAAWswHRKGDxL01tZTD8t
-EJNGMwrnguTB+wnwiLjizjLLDy1EV7zKlzBaS2onbHBWov57cV9MqJuIu8+LK3jX
-ApLPXebUZm4ywq0c3LblJu1YQyb2yKtzJxY9AiV9Oe7Kri7KP3v8Qa+UeI79UABh
-WVH45aWOurdJx33XzAmYKkIKPa2Md9e4/uf5vHj8W9CILYhoudo8ko1cnMNiFqDR
-bYZN1VG55ujzoT+AqeI6GKXTJ+9rzYhJtJZU7eUt58sbQH8Pm3sp4WBNUpMo36go
-fHg2YJU2Pedn7TogRIhcWeU8ZiFYFNrsjCmj2hfKoK5Z7b50ywQokdnhXVWtb05D
-+BVXrO7CPIt1mjMQpV2xgAear8DUThcsN/n6T6SrsIbgBfYkAAKdO4Qra4bmZmdv
-Q323rYvu0MPwsciYReJ6i3qosoI4rUKkxZb3QbZ0OY0DkthVy/U6PmL+nJvsFQBP
-jLqKhuGR4Itswbfh1Zn+VQ/qPUnPjR+yNlCMKnRNdT5GWn7XA6hlq3rQnYU3VYfo
-tCVKZWxtZXIgVmVybm9vaWogPGplbG1lckBubC5saW51eC5vcmc+iQI8BDABAgAm
-BQJNb7RSHx0gbmwubGludXgub3JnIG5vIGxvbmdlciBleGlzdHMACgkQAIBvK9cp
-pFcOOw//VRlFHgGefSIkxg381wo8t38g7NXbLwGtjxvJjnrwnxQSVnesGxpZHgyo
-/Tq0Ly+PPYtPzPUX2rbVw90Jx6gD2Yl7I6rnYoNurNhJqGsGRIyCQ11UdKmDu5jg
-PEurEjycxZK1UOkqnfrVeCubDilFNgTuvOQaC1rw51M00sqv/8KvkhWE4ZGkvgOe
-GKLe5NbxNuBTiPOyRIVWJD2q42LCaayYrcM/1cIZk55dMePiSCHkDLg0GYMdkbhs
-ohE8YBr3PWm5r6LGI15ihm43YawM4kVdgSbvDB5kn11jNuOeMLqVT8VCfhN8V9J/
-oPfd8n4EZchvwiupGCi8iR5uwWIg4WOQL8dT/uuCPM0fZeZYU5oxcvjmT48FSTzZ
-HOfXg8HhzhlNap4tQS+cvHleUmDvImXo/Dn9L20v5OgwBu/Wq8lREBVZjuEUxp4a
-+G9v6SMhtYkFetWnAvCui3DOQKlmiL6GKpUOx3ZbXBe9uSsjMsahhhHjyc4MRsFj
-4BcxCc3IMK/p8RWvrrl3l9bJlQrRsxWbT95fVPnUIqG7O+8Ttxl+oIuubnKBn3nZ
-8lWBbgWbM7PeVHJNyfV91KQp/xaHV0sWLlwLmN0S5GAuqhN7gyPMHdCgfLuUN42i
-AkUqehVSfJyFX0qCaoqUiIeLDrtC1f5jmbR4maiIuuUmv/p6vqu0JkplbG1lciBW
-ZXJub29paiA8amVsbWVyQGNhbm9uaWNhbC5jb20+iQIfBDABAgAJBQJQlSLBAh0g
-AAoJEACAbyvXKaRXQlcP/A1iUm2F6If39VmiYUa3ZA9ESi3ABtXc9OatlKzFlw/4
-nL4QVOCm9T+i0SO8Vm7IIMv76BIUgIo+JzkTpq0K7HP83rLTHjyKzkQlkMMITXYl
-tzOhfLGZHgqlJZn1GNWkEuQK0ggrkqJbIWRVYepd8IgPGgK1Dlu1y+BSSRkeHR90
-6n2OasIIITgySbskEUjf+XukB2O9vzTVS8zT1Y3nUlCim6RRwhPBMPKrwSrCssCr
-r24Lri6gwyrhZb3FaXVmmvHC4PNjf7jUHdyUpp7FAZ2v5ghQc9OCXLelO0QW6wnp
-4TFEFvpmw910Du1fA7EnWR7kFlGaQdgifr9hQYDi9AcuEuu2+PfEx58WcLoc/+dB
-4PWMX+AopVbLW/xtXNDxPrKgb96mUPd0OYQLpl5SX7B+PEk/GbuUfda54d3lmLq/
-G1v9r7bRI+r4do3ImDFUyZ/adFajP0jNApQdYmdutFWMtZNVuxvzCq/wXS9Grbft
-llD96xHvoiTR1R1QF5VxGvsWVOSBcvnq+kglaVa18MwhPBiCdFJM0xRlJoqvlXJn
-k4Sg8DscMGrxVgxQ/HCT1yiud+mShh7ClQlGIB+DPcyn4YYzrbKXVV23telJjMeM
-KLbdBllCktaUCal2g4gxa+9zCD69pxS++usrLOeuYo7rktpRGxZ2T/7bzkQPznxr
-tCdKZWxtZXIgVmVybm9vaWogPGplbG1lckBvcGVuY2hhbmdlLm9yZz6JAmoEEwEK
-AFQCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AVGGhrcDovL2tleXMuZ251cGcu
-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
-td7UCWj9i23IkX40AUJEf9z+xS2B6sdtvHdDiSezfb6KNRabV2cHLzb8IBe2WX8+
-c3y2ka0qDaKwStznA8c99enC2mDC4stQdKeSVCwWAh2KvT7ZGi4yPN1Mpx1CplKD
-+luMo23FFlC6Imn5Kdy6M8NhjL7XL44eAo65E7Za9dyUvYWxSNINAujzCVCGh95w
-6YrH4aXoLQBnVJC+TxRcqo4brqOScir+Ir2JjQbxS8cm33zoFc5yo0ebV4bdOEF+
-Qux5J8Ev11qWxzsu9dCP1uBO5Bw+CEp65/GVl1LIiQIlBBgBCgAPAhsgBQJXZFZl
-BQkGRxBmAAoJEACAbyvXKaRXKGUQAITBRaXp7kqjfNV0ORNt7Aj6FTQb7fu5RWTC
-G2HKWNiSQwfk8bUJB3yW+yHzKP455rtZqBNkTZ4+snVuzZwOjwnqIk3FbLwThGYr
-lQDOpxLjqWFYa+HGl/e/8KaVKXHZu/gxB12T7qcVWxYf6AbQox9ivU/flaQNMB6o
-BmtGC8jZLujN2LWsSoee2ScOfmwCgh7w3ELtfHVoKi48ciiUdJXIg6uZL5Jompfb
-AgSEVJVw0c/CeZHnUgskQZlzEkgn4b+qZiq+5kX13pZwgppq/LDA5vrGi4B8N/Wq
-TrHGrm/ER4FdOecrNMD05OSAkgL4kgGwDfLF0NKIZmu6crzxWEWhZVB+ifUsn1A0
-lP3ipAd1LELARUswpMRIpMGh3Xu9tLHnG7lGF4zvrCL8TPucgZdPUMDxUdRn2AJH
-Qz1O+FtCYGieJGAiIt88lMZGfmayjbFAyIoiPdxUbktezpdgSWuSw8bxUHYwemfh
-dgz2Mz/ctfuRVbwPr0V7g5untIm+VvONFE2m9sC61l3haHzJdXkDk7JUcxW0JI39
-6GRS+4kXb/+o5EiymeAHDJnoFViuq0oUaoKhd17MO/Oof5+XqPigM1oMKLCVBxA7
-3+Bd9KQzpxpjh/ywmL7sM+Ke69Lg/zE5kI17aM/K6g+9KzgQcU6GvY2b8HVeKgR5
-TgVoW9NHuQENBFTfrjIBCADNQ9HDQjm8JgBPbMlDeSgxjpfuDdmSiM804lVg0peh
-x1Ba6TKTUuONiAw66HvapQp0eGJyexZ44CWJr/0wLgON3q3lDUqv8U0LZrn924fR
-IOmrWLLiDYzvM32hKt34fDqGgBYWiO6wr7OBsr2EKI/nn1xN+Z5ulmssjtYzNL0z
-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
-j9taGC+R/Tk0Ini8
-=Xecr
------END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
index c386f8d..9ecf47a 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,4 @@
-version=4
-opts=pgpsigurlmangle=s/$/.asc/ https://pypi.debian.net/fastbencode/fastbencode-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
+Version: 5
+
+Template: PyPI
+Dist: fastbencode/fastbencode-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
diff --git a/disperse.toml b/disperse.toml
deleted file mode 100644
index a3af0a7..0000000
--- a/disperse.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-tag-name = "v$VERSION"
-verify-command = "python3 -m unittest fastbencode.tests.test_suite"
-tarball-location = []
-release-timeout = 5
-
-[[update_version]]
-path = "fastbencode/__init__.py"
-new-line = "__version__ = $TUPLED_VERSION"
diff --git a/fastbencode.egg-info/PKG-INFO b/fastbencode.egg-info/PKG-INFO
new file mode 100644
index 0000000..75dae68
--- /dev/null
+++ b/fastbencode.egg-info/PKG-INFO
@@ -0,0 +1,60 @@
+Metadata-Version: 2.4
+Name: fastbencode
+Version: 0.3.10
+Summary: Implementation of bencode with optional fast Rust extensions
+Maintainer-email: Breezy Developers <breezy-core@googlegroups.com>
+License-Expression: Apache-2.0
+Project-URL: Homepage, https://github.com/breezy-team/fastbencode
+Project-URL: GitHub, https://github.com/breezy-team/fastbencode
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: Microsoft :: Windows
+Requires-Python: >=3.10
+Description-Content-Type: text/markdown
+License-File: COPYING
+Provides-Extra: rust
+Requires-Dist: setuptools-rust>=1.0.0; extra == "rust"
+Provides-Extra: dev
+Requires-Dist: ruff==0.15.6; extra == "dev"
+Dynamic: license-file
+
+fastbencode
+===========
+
+fastbencode is an implementation of the bencode serialization format originally
+used by BitTorrent.
+
+The package includes both a pure-Python version and an optional Rust extension
+based on PyO3. Both provide the same functionality, but the Rust extension
+provides significantly better performance.
+
+Example:
+
+ >>> from fastbencode import bencode, bdecode
+ >>> bencode([1, 2, b'a', {b'd': 3}])
+ b'li1ei2e1:ad1:di3eee'
+ >>> bdecode(bencode([1, 2, b'a', {b'd': 3}]))
+ [1, 2, b'a', {b'd': 3}]
+
+The default ``bencode``/``bdecode`` functions just operate on
+bytestrings. Use ``bencode_utf8`` / ``bdecode_utf8`` to
+serialize/deserialize all plain strings as UTF-8 bytestrings.
+Note that for performance reasons, all dictionary keys still have to be
+bytestrings.
+
+License
+=======
+fastbencode is available under the Apache License, version 2.
+
+Copyright
+=========
+
+* Original Pure-Python bencoder © Petru Paler
+* Split out from Bazaar/Breezy by Jelmer Vernooij
+* Rust extension © Jelmer Vernooij
diff --git a/fastbencode.egg-info/SOURCES.txt b/fastbencode.egg-info/SOURCES.txt
new file mode 100644
index 0000000..6e4650a
--- /dev/null
+++ b/fastbencode.egg-info/SOURCES.txt
@@ -0,0 +1,17 @@
+COPYING
+Cargo.toml
+MANIFEST.in
+README.md
+pyproject.toml
+setup.py
+fastbencode/__init__.py
+fastbencode/_bencode_py.py
+fastbencode/py.typed
+fastbencode.egg-info/PKG-INFO
+fastbencode.egg-info/SOURCES.txt
+fastbencode.egg-info/dependency_links.txt
+fastbencode.egg-info/requires.txt
+fastbencode.egg-info/top_level.txt
+src/lib.rs
+tests/__init__.py
+tests/test_bencode.py \ No newline at end of file
diff --git a/fastbencode.egg-info/dependency_links.txt b/fastbencode.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/fastbencode.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/fastbencode.egg-info/requires.txt b/fastbencode.egg-info/requires.txt
new file mode 100644
index 0000000..3bccd4b
--- /dev/null
+++ b/fastbencode.egg-info/requires.txt
@@ -0,0 +1,6 @@
+
+[dev]
+ruff==0.15.6
+
+[rust]
+setuptools-rust>=1.0.0
diff --git a/fastbencode.egg-info/top_level.txt b/fastbencode.egg-info/top_level.txt
new file mode 100644
index 0000000..fc7ff1e
--- /dev/null
+++ b/fastbencode.egg-info/top_level.txt
@@ -0,0 +1 @@
+fastbencode
diff --git a/fastbencode/__init__.py b/fastbencode/__init__.py
index d18a24f..84d5d78 100644
--- a/fastbencode/__init__.py
+++ b/fastbencode/__init__.py
@@ -18,7 +18,7 @@
from typing import Type
-__version__ = (0, 3, 7)
+__version__ = (0, 3, 10)
Bencached: Type
diff --git a/pyproject.toml b/pyproject.toml
index 650f400..2bff901 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,7 +33,7 @@ GitHub = "https://github.com/breezy-team/fastbencode"
[project.optional-dependencies]
rust = ["setuptools-rust>=1.0.0"]
dev = [
- "ruff==0.14.6"
+ "ruff==0.15.6"
]
[tool.setuptools]
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..8bfd5a1
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,4 @@
+[egg_info]
+tag_build =
+tag_date = 0
+