Skip to content
Snippets Groups Projects
Commit 4dc7ccd0 authored by YOKOTA Hiroshi's avatar YOKOTA Hiroshi
Browse files

New upstream version 1.0.3+ds

parent 673415a2
Branches upstream
No related merge requests found
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: miurahr
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
version: 2
updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: daily
time: "20:00"
open-pull-requests-limit: 10
name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI
on:
push:
branches:
- releases/*
tags:
- v*
jobs:
build_wheels:
name: Build wheels on ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
strategy:
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest, ubuntu-24.04-arm, windows-11-arm]
env:
CIBW_ARCHS_MACOS: "x86_64 universal2 arm64"
# Include latest Python beta
CIBW_PRERELEASE_PYTHONS: True
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
fetch-depth: 20
- name: Fetch release tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python 🐍
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install cibuildwheel
run: |
python -m pip install -U pip cibuildwheel
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_ARCHS_LINUX: "native"
CIBW_SKIP: "pp*"
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: artifact-${{ matrix.platform }}
path: wheelhouse/*.whl
build_source_dist:
name: Build source dist
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
fetch-depth: 20
- name: Fetch release tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python 🐍
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Build source distribution & wheels🎡
run: |
python -m pip install -U pip setuptools setuptools_scm[toml] build
python -m build --sdist
- name: Upload source distribution
uses: actions/upload-artifact@v4
with:
name: artifact-source
path: dist/*.tar.gz
pypi-publish:
name: publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-latest
needs: [build_wheels, build_source_dist]
environment: pypi
permissions:
id-token: write
steps:
- name: download dist artifacts
uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true
- name: Publish distribution 📦 to Test PyPI
if: ${{ startsWith(github.event.ref, 'refs/heads/releases') }}
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # release/v1.12.4
with:
repository-url: https://test.pypi.org/legacy/
- name: Publish distribution 📦 to PyPI
if: startsWith(github.event.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # release/v1.12.4
name: Run Tox tests
on:
push:
branches:
- main
- releases/*
pull_request:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-24.04, windows-latest]
python-version: [
"3.9",
"3.10",
"3.11",
"3.12",
"3.13",
]
include:
- os: macos-latest
python-version: "3.12"
name: Test Python ${{ matrix.python-version }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 20
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install dependencies
run: |
pip install -U pip tox wheel setuptools setuptools_scm[toml]
pip install tox-gh-actions
- name: Test project with tox
run: |
tox
test_on_aarch64:
name: Test on ${{ matrix.arch }}
runs-on: ubuntu-24.04
strategy:
matrix:
arch: [aarch64]
distro: [ubuntu24.04]
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
fetch-depth: 20
- name: Build & run test
uses: uraimo/run-on-arch-action@v3
with:
arch: ${{ matrix.arch }}
distro: ${{ matrix.distro }}
githubToken: ${{ github.token }}
install: |
apt-get update -q -y
apt-get install -q -y python3-full python3-dev python3-venv build-essential gcc git
python3 -m venv /root/venv
. /root/venv/bin/activate
python3 -m pip install -U pip tox setuptools setuptools_scm[toml]
run: |
. /root/venv/bin/activate
git config --global --add safe.directory ${GITHUB_WORKSPACE}
python3 -c "import platform;print('Machine type:', platform.machine())"
python3 -m tox -e py312
env: |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Set the OS, Python version, and other tools you might need
build:
os: ubuntu-24.04
tools:
python: "3.13"
# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
python:
install:
- method: pip
path: .
extra_requirements:
- docs
......@@ -5,7 +5,7 @@ set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# TARGET PYTHON version
set(PY_VERSION 3.12)
set(PY_VERSION 3.13)
set(Python_FIND_IMPLEMENTATIONS CPython)
#set(Python_FIND_IMPLEMENTATIONS PyPy)
set(VENV_PATH "${CMAKE_BINARY_DIR}/venv")
......@@ -156,11 +156,6 @@ int main(int argc, char **argv) {
return 0;
}")
add_executable(pytest_runner ${CMAKE_CURRENT_BINARY_DIR}/pytest_runner.cpp)
if ("${Python_INTERPRETER_ID}" STREQUAL "PyPy")
add_dependencies(pytest_runner generate_cffi)
else()
add_dependencies(pytest_runner build_ext)
endif()
target_include_directories(pytest_runner PRIVATE ${Python_INCLUDE_DIRS})
target_link_libraries(pytest_runner PRIVATE ${Python_LIBRARIES})
add_dependencies(pytest_runner venv.stamp build_ext)
......
Metadata-Version: 2.1
Metadata-Version: 2.4
Name: inflate64
Version: 1.0.1
Version: 1.0.3
Summary: deflate64 compression/decompression library
Author-email: Hiroshi Miura <miurahr@linux.com>
License: LGPL-2.1-or-later
Project-URL: Source, https://github.com/miurahr/inflate64
Project-URL: Homepage, https://inflate64.readthedocs.io/
Project-URL: Documentation, https://inflate64.readthedocs.io/en/stable/
Project-URL: Bug Tracker, https://github.com/miurahr/inflate64/issues
Project-URL: Changelog, https://inflate64.readthedocs.io/en/latest/changelog.html
Keywords: deflate64,compression
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
......@@ -20,15 +25,15 @@ Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Python: >=3.9, <3.14
Description-Content-Type: text/x-rst
License-File: COPYING
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx>=5.0; extra == "docs"
Requires-Dist: sphinx_rtd_theme; extra == "docs"
Requires-Dist: docutils; extra == "docs"
Provides-Extra: check
Requires-Dist: mypy>=1.10.0; extra == "check"
......@@ -41,6 +46,8 @@ Requires-Dist: flake8-isort; extra == "check"
Requires-Dist: pygments; extra == "check"
Requires-Dist: readme-renderer; extra == "check"
Requires-Dist: twine; extra == "check"
Dynamic: license-file
Dynamic: requires-python
inflate64
=========
......@@ -48,6 +55,9 @@ inflate64
.. image:: https://badge.fury.io/py/inflate64.svg
:target: https://badge.fury.io/py/inflate64
.. image:: https://github.com/miurahr/inflate64/actions/workflows/run-tox-tests.yml/badge.svg?branch=main
:target: https://github.com/miurahr/inflate64/actions/workflows/run-tox-tests.yml
.. image:: https://ci.codeberg.org/api/badges/12505/status.svg
:target: https://ci.codeberg.org/repos/12505
......
......@@ -4,6 +4,9 @@ inflate64
.. image:: https://badge.fury.io/py/inflate64.svg
:target: https://badge.fury.io/py/inflate64
.. image:: https://github.com/miurahr/inflate64/actions/workflows/run-tox-tests.yml/badge.svg?branch=main
:target: https://github.com/miurahr/inflate64/actions/workflows/run-tox-tests.yml
.. image:: https://ci.codeberg.org/api/badges/12505/status.svg
:target: https://ci.codeberg.org/repos/12505
......
......@@ -7,6 +7,20 @@ All notable changes to this project will be documented in this file.
`Unreleased`_
=============
v1.0.3_
=======
* Add readthedocs manual page.
* Publish Python 3.13 wheels.
* Fix GitHub Actions CI/CD script for aarch64.
v1.0.2_
=======
* Published to PyPI using GItHub Actions as a trusted publisher
* Add GitHub Actions CI/CD script
* Drop Azure Pipelines CI/CD
v1.0.1_
=======
......@@ -106,15 +120,17 @@ v0.1.1_
* Support decompression/inflation
.. History links
.. _Unreleased: https://codeberg.org/miurahr/inflate64/compare/v1.0.1...HEAD
.. _v1.0.1: https://codeberg.org/miurahr/inflate64/compare/v1.0.0...v1.0.1
.. _v1.0.0: https://codeberg.org/miurahr/inflate64/compare/v1.0.0rc2...v1.0.0
.. _v1.0.0rc2: https://codeberg.org/miurahr/inflate64/compare/v1.0.0rc1...v1.0.0rc2
.. _v1.0.0rc1: https://codeberg.org/miurahr/inflate64/compare/v0.3.1...v1.0.0rc1
.. _v0.3.1: https://codeberg.org/miurahr/inflate64/compare/v0.3.0...v0.3.1
.. _v0.3.0: https://codeberg.org/miurahr/inflate64/compare/v0.2.0...v0.3.0
.. _v0.2.0: https://codeberg.org/miurahr/inflate64/compare/v0.1.4...v0.2.0
.. _v0.1.4: https://codeberg.org/miurahr/inflate64/compare/v0.1.3...v0.1.4
.. _v0.1.3: https://codeberg.org/miurahr/inflate64/compare/v0.1.2...v0.1.3
.. _v0.1.2: https://codeberg.org/miurahr/inflate64/compare/v0.1.1...v0.1.2
.. _v0.1.1: https://codeberg.org/miurahr/inflate64/compare/v0.1.0...v0.1.1
.. _Unreleased: https://github.com/miurahr/inflate64/compare/v1.0.3...HEAD
.. _v1.0.3: https://github.com/miurahr/inflate64/compare/v1.0.2...v1.0.3
.. _v1.0.2: https://github.com/miurahr/inflate64/compare/v1.0.1...v1.0.2
.. _v1.0.1: https://github.com/miurahr/inflate64/compare/v1.0.0...v1.0.1
.. _v1.0.0: https://github.com/miurahr/inflate64/compare/v1.0.0rc2...v1.0.0
.. _v1.0.0rc2: https://github.com/miurahr/inflate64/compare/v1.0.0rc1...v1.0.0rc2
.. _v1.0.0rc1: https://github.com/miurahr/inflate64/compare/v0.3.1...v1.0.0rc1
.. _v0.3.1: https://github.com/miurahr/inflate64/compare/v0.3.0...v0.3.1
.. _v0.3.0: https://github.com/miurahr/inflate64/compare/v0.2.0...v0.3.0
.. _v0.2.0: https://github.com/miurahr/inflate64/compare/v0.1.4...v0.2.0
.. _v0.1.4: https://github.com/miurahr/inflate64/compare/v0.1.3...v0.1.4
.. _v0.1.3: https://github.com/miurahr/inflate64/compare/v0.1.2...v0.1.3
.. _v0.1.2: https://github.com/miurahr/inflate64/compare/v0.1.1...v0.1.2
.. _v0.1.1: https://github.com/miurahr/inflate64/compare/v0.1.0...v0.1.1
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = ../build/docs
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
sys.path.insert(0, os.path.abspath('../src/'))
# -- Project information -----------------------------------------------------
project = 'inflate64'
copyright = '2021, Hiroshi Miura'
author = 'Hiroshi Miura'
# -- General configuration ---------------------------------------------------
source_suffix = '.rst'
master_doc = 'index'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.coverage',
'sphinx.ext.viewcode',
'sphinx.ext.graphviz',
"sphinx_rtd_theme",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_theme_options = {
'description': 'inflate64 -- a compression library',
'github_banner': True,
'github_user': 'miurahr',
'github_repo': 'inflate64',
'page_width': 'auto',
'badge_branch': 'main',
'donate_url': 'https://liberapay.com/miurahr',
}
html_title = 'Inflate64 compression library'
html_short_title = 'Inflate64 docs'
html_sidebars = {
'**': [
'about.html',
'navigation.html',
'relations.html',
'searchbox.html',
'donate.html',
]
}
.. _contributor_guide:
:tocdepth: 2
*****************
Contributor guide
*****************
Development environment
=======================
If you’re reading this, you’re probably interested in contributing to inflate64.
Thank you very much! The purpose of this guide is to get you to the point
where you can make improvements to the Infalte64 and share them with the rest of the team.
Setup Python and C compiler
---------------------------
The Inflate64 is written in the Python and C languages bound with C Foreign
Function Interface, and CPython C/C++ API.
Python installation for various platforms with various ways.
You need to install Python environment which support `pip` command.
Venv/Virtualenv is recommended for development.
Get Early Feedback
------------------
If you are contributing, do not feel the need to sit on your contribution
until it is perfectly polished and complete. It helps everyone involved
for you to seek feedback as early as you possibly can.
Submitting an early, unfinished version of your contribution
for feedback in no way prejudices your chances of getting that contribution accepted,
and can save you from putting a lot of work into a contribution that is not suitable for the project.
Code Contribution
=================
Steps submitting code
---------------------
When contributing code, you’ll want to follow this checklist:
1. Fork the repository on GitHub.
2. Run the tox tests to confirm they all pass on your system. If they don’t, you’ll need
to investigate why they fail. If you’re unable to diagnose this yourself,
raise it as a bug report.
3. Write tests that demonstrate your bug or feature. Ensure that they fail.
4. Make your change.
5. Run the entire test suite again using tox, confirming that all tests pass
including the ones you just added.
6. Send a GitHub Pull Request to the main repository’s master branch.
GitHub Pull Requests are the expected method of code collaboration on this project.
Code review
-----------
Contribution will not be merged until they have been code reviewed. There are limited
reviewer in the team, reviews from other contributors are also welcome.
You should implemented a review feedback unless you strongly object to it.
Code style
----------
The inflate64 uses the PEP8/Black code style. In addition to the standard PEP8,
we have an extended guidelines.
* line length should not exceed 125 characters.
* Black format prettier is enforced.
* It also use MyPy static type check enforcement.
Test cases
----------
There is three types of tests and we measures coverages;
* Unit tests for encode and decode, single data, and multiple data.
* Integration test with CSV file which size is larger than buffer size.
* Hypothesis fuzzing test.
All tests should be passed before merging.
C bindings development
======================
Debugging bindings has always been itchy task for developers.
Even proprietary modern IDEs, such as PyCharm Professional/CLion, does not provide
a cross debugging feature.
Ref: https://youtrack.jetbrains.com/issue/CPP-5797
CMake
-----
The project has a `CMakeLists.txt` file to run cross-debugging,
CMake is a cross-platform builder meta tool for C/C++ projects.
Jetbrains CLion
---------------
CLion is an IDE tool for C/C++ development that support CMake for build configuration.
Dependency
----------
- Python > 3.9
- python development files (for example python3.8-dev package)
- venv
- GCC or CLang C/C++ compiler
- CMake 3.19 or later
When you want to change target python variation and version, please edit CMakeLists.txt#L8-L9
.. code-block:: cmake
set(PY_VERSION 3.13)
set(Python_FIND_IMPLEMENTATIONS PyPy)
Manual build and run
--------------------
TL;DR
.. code-block:: console
mkdir cmake-build
cd cmake-build
cmake ..
make pytest_runner
gdb ./pytest_runner ../tests
pytest_runner is a generated program that help you run pytest under C/C++ debugger.
You may want to run it on IDE environment.
You can also run pytest with tox
.. code-block:: console
tox -e py313
Library build
-------------
.. code-block:: console
cd cmake-build
make generate_ext
CMake targets and files
-----------------------
THere are several targets you can build.
pytest_runner:
A C++ program that launch python and pytest. The source code is generated by CMake
configuration onto cmake build directory (cmake-build in above example).
generate_ext:
A virtual target to produce C extension for CPython.
venv.stamp:
interim target to produce virtualenv environment for pytest_runner
Getting started with Inflate64
==============================
The ``inflate64`` is a python package to provide ``Deflater`` and ``Inflater`` class to compress and
decompress with Enhanced Deflate compression algorithm.
The project is in ``Production/Stable`` status.
How to use
----------
You can install it with ``pip`` command as usual.
.. code-block::
pip install inflate64
You can extract compressed data by instantiating ``Inflater`` class and call ``inflate`` method.
.. code-block:: python
import inflate64
decompressor = inflate64.Inflater()
extracted = decompressor.inflate(data)
You can also compress data by instantiating ``Deflater`` class and call ``deflate`` method.
.. code-block:: python
import inflate64
compressor = inflate64.Deflater()
compressed = compressor.deflate(data)
compressed += compressor.flush()
Inflate64 Python module
=======================
Inflate is a wellknown compression technique as a ZLib compression library.
Inflate64 is a extension of the Inflate.
Please refer technical note for details.
The ``inflate64`` package uses C files from ``zlib``.
.. toctree::
:maxdepth: 2
:caption: Contents:
getting_started
contribution
security_policy
technote
license_notice
Changelog
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. _license_notice:
==============
License notice
==============
Inflate64 is distributed under GNU Lesser General Public License version 2.1
or any later version.
Inflate64 uses sources from zlib with modifications.
Here is a zlib license notification.
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
If you use the zlib library in a product, we would appreciate *not* receiving
lengthy legal documents to sign. The sources are provided for free but without
warranty of any kind. The library has been entirely written by Jean-loup
Gailly and Mark Adler; it does not include third-party code. We make all
contributions to and distributions of this project solely in our personal
capacity, and are not conveying any rights to any intellectual property of
any third parties.
If you redistribute modified sources, we would appreciate that you include in
the file ChangeLog history information documenting your changes. Please read
the FAQ for more information on the distribution of modified source versions.
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build
if "%1" == "" goto help
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd
.. _security_policy:
.. include:: ../SECURITY.rst
......@@ -23,7 +23,6 @@ classifiers = [
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Libraries :: Python Modules",
]
keywords = ['deflate64', 'compression']
......@@ -34,6 +33,7 @@ test = [
]
docs = [
"sphinx>=5.0",
"sphinx_rtd_theme",
"docutils",
]
check = [
......@@ -56,9 +56,16 @@ build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
local_scheme = "no-local-version"
[project.urls]
Source = "https://github.com/miurahr/inflate64"
Homepage = "https://inflate64.readthedocs.io/"
Documentation = "https://inflate64.readthedocs.io/en/stable/"
"Bug Tracker" = "https://github.com/miurahr/inflate64/issues"
Changelog = "https://inflate64.readthedocs.io/en/latest/changelog.html"
[tool.black]
line-length = 125
target-version = ['py38']
target-version = ['py39']
[tool.coverage.paths]
source = ["src", "*/site-packages"]
......@@ -120,7 +127,7 @@ archs = ["auto64", "universal2"]
[tool.tox]
legacy_tox_ini = """
[tox]
envlist = check, py{39,310,311,312,313}, pypy39
envlist = check, py{39,310,311,312,313}, docs
[testenv]
passenv = PYTEST_ADDOPTS
......@@ -135,4 +142,10 @@ ignore_errors=true
commands =
check-manifest {toxinidir}
flake8 src tests
[testenv:docs]
basepython = python3.12
extras = docs
commands =
sphinx-build {posargs:-E} -b html docs build/html
"""
......@@ -66,4 +66,5 @@ setup(
package_dir={"": "src"},
packages=packages,
cmdclass={"build_ext": build_ext_compiler_check, "egg_info": my_egg_info},
python_requires=">=3.9, <3.14",
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment