{"count":53720,"next":"https://ports.macports.org/api/v1/ports/?format=json&ordering=name&page=659","previous":"https://ports.macports.org/api/v1/ports/?format=json&ordering=name&page=657","results":[{"name":"py315-pyicu","portdir":"python/py-pyicu","version":"2.16.2","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://gitlab.pyicu.org/main/pyicu","description":"Python extension wrapping the ICU C++ API","long_description":"Python extension wrapping the ICU C++ API","active":true,"categories":["textproc","python"],"maintainers":[],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-setuptools","py315-wheel","clang-20","py315-build","py315-installer"]},{"type":"lib","ports":["icu","python315"]},{"type":"test","ports":["py315-pytest","py315-six"]}],"depends_on":[{"type":"run","ports":["py315-natsort"]}]},{"name":"py315-pylast","portdir":"python/py-pylast","version":"7.0.0","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pylast/pylast","description":"A Python interface to Last.fm and Libre.fm","long_description":"A Python interface to Last.fm and Libre.fm","active":true,"categories":["devel","audio","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-hatchling","py315-hatch-vcs","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["python315","py315-httpx"]},{"type":"test","ports":["py315-pytest","py315-yaml","py315-flaky","py315-pytest-recording","py315-pytest-random-order"]}],"depends_on":[]},{"name":"py315-pylint-venv","portdir":"python/py-pylint-venv","version":"3.0.4","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/jgosmann/pylint-venv/","description":"pylint-venv provides a Pylint init-hook to use the same Pylint installation with different virtual environments.","long_description":"pylint-venv provides a Pylint init-hook to use the same Pylint installation with different virtual environments.","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-poetry-core"]},{"type":"lib","ports":["python315"]}],"depends_on":[]},{"name":"py315-pylsqpack","portdir":"python/py-pylsqpack","version":"1.0.0","license":"BSD","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/aiortc/pylsqpack","description":"pylsqpack is a wrapper around the ls-qpack library.","long_description":"pylsqpack is a wrapper around the ls-qpack library. It provides Python Decoder and Encoder objects to read or write HTTP/3 headers compressed with QPACK.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1679}],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-build","clang-18","ls-qpack","py315-wheel","py315-installer","py315-setuptools"]},{"type":"lib","ports":["python315"]}],"depends_on":[{"type":"lib","ports":["py315-aioquic"]}]},{"name":"py315-pynacl","portdir":"python/py-pynacl","version":"1.6.2","license":"Apache-2","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/pyca/pynacl/","description":"Python binding to the Networking and Cryptography (NaCl) library","long_description":"Python binding to the Networking and Cryptography (NaCl) library","active":true,"categories":["devel","python"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-wheel","clang-18","py315-build","py315-installer","py315-setuptools"]},{"type":"lib","ports":["python315","py315-cffi","py315-six","libsodium"]}],"depends_on":[{"type":"lib","ports":["py315-paramiko"]}]},{"name":"py315-pynamecheap","portdir":"python/py-pynamecheap","version":"0.0.3","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/Bemmu/PyNamecheap","description":"PyNamecheap is a Namecheap API client in Python.","long_description":"PyNamecheap is a Namecheap API client in Python. API itself is documented at http://developer.namecheap.com/docs/","active":true,"categories":["net","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1679}],"variants":[],"dependencies":[{"type":"build","ports":["py315-build","py315-setuptools","py315-wheel","clang-18","py315-installer"]},{"type":"lib","ports":["py315-requests","python315"]}],"depends_on":[]},{"name":"py315-pynose","portdir":"python/py-pynose","version":"1.5.5","license":"LGPL-2.1","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mdmintz/pynose","description":"pynose fixes nose to extend unittest and make testing easier","long_description":"pynose fixes nose to extend unittest and make testing easier","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]}],"depends_on":[{"type":"test","ports":["py315-olefile","py315-parameterized"]}]},{"name":"py315-pyobjc","portdir":"python/py-pyobjc","version":"12.2.2","license":"MIT","platforms":"{darwin >= 13}","epoch":0,"replaced_by":null,"homepage":"https://pyobjc.readthedocs.io","description":"bidirectional bridge between python and Objective C","long_description":"The PyObjC project aims to provide a bridge between the Python and Objective-C programming languages. The bridge is intended to be fully bidirectional, allowing the Python programmer to take full advantage of the power provided by various Objective-C based toolkits and the Objective-C programmer transparent access to Python based functionality.","active":true,"categories":["devel","python"],"maintainers":[{"name":"danchr","github":"danchr","ports_count":181}],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-build","py315-setuptools","py315-wheel","clang-18","py315-installer"]},{"type":"lib","ports":["python315"]},{"type":"patch","ports":["python315"]}],"depends_on":[{"type":"lib","ports":["py315-imagecodecs"]}]},{"name":"py315-pypdf","portdir":"python/py-pypdf","version":"7.0.0","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/py-pdf/pypdf","description":"A utility to read and write pdfs with Python","long_description":"A Pure-Python PDF toolkit. It is capable of extracting document information, splitting documents page by page, merging documents page by page, cropping pages, merging multiple pages into a single page, and encrypting and decrypting PDF files.","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","clang-18","py315-build","py315-flit_core"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":["py315-pytest","py315-yaml","py315-pytest-timeout"]}],"depends_on":[]},{"name":"py315-pyperclip","portdir":"python/py-pyperclip","version":"1.11.0","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/asweigart/pyperclip","description":"A cross-platform clipboard module for Python","long_description":"A cross-platform clipboard module for Python. It currently handles only plain text.","active":true,"categories":["python"],"maintainers":[{"name":"petr","github":"petrrr","ports_count":636}],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","clang-18","py315-build","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"run","ports":["py315-cmd2"]},{"type":"test","ports":["py315-resvg_py"]}]},{"name":"py315-pypng","portdir":"python/py-pypng","version":"0.20250521.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://gitlab.com/drj11/pypng","description":"Pure Python PNG image encoder/decoder","long_description":"Pure Python PNG image encoder/decoder","active":true,"categories":["python"],"maintainers":[{"name":"herby.gillot","github":"herbygillot","ports_count":1167}],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","clang-18","py315-build","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"lib","ports":["py315-qrcode"]}]},{"name":"py315-pyppmd","portdir":"python/py-pyppmd","version":"1.3.1","license":"LGPL-2.1+","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/miurahr/pyppmd","description":"PPMd compression/decompression library","long_description":"PPMd compression/decompression library","active":true,"categories":["python"],"maintainers":[],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","clang-18","py315-build","py315-installer","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":["py315-pytest","py315-hypothesis","py315-pytest-benchmark","py315-coverage","py315-pytest-cov","py315-pytest-timeout"]}],"depends_on":[{"type":"lib","ports":["py315-py7zr"]}]},{"name":"py315-pyproj","portdir":"python/py-pyproj","version":"3.8.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://pyproj4.github.io/pyproj","description":"Python interfaces to PROJ.4 functions.","long_description":"Pyrex wrapper to provide python interfaces to PROJ.4 (http://proj.maptools.org) functions. Performs cartographic transformations and geodetic computations.","active":true,"categories":["devel","python"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-setuptools","py315-wheel","py315-cython","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["proj9","python315","py315-certifi"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[]},{"name":"py315-pyproject_api","portdir":"python/py-pyproject_api","version":"1.12.5","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/tox-dev/pyproject-api","description":"API to interact with the python pyproject.toml based projects","long_description":"API to interact with the python pyproject.toml based projects","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1679}],"variants":[],"dependencies":[{"type":"build","ports":["py315-hatch-fancy-pypi-readme","py315-hatchling","py315-hatch-vcs","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["py315-packaging","python315"]}],"depends_on":[]},{"name":"py315-pyproject_hooks","portdir":"python/py-pyproject_hooks","version":"1.3.3","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://pypi.python.org/pypi/pyproject_hooks/","description":"API to call PEP 517 hooks","long_description":"This is a low-level library for calling build-backends in pyproject.toml-based projects. It provides the basic functionality to help write tooling that generates distribution files from Python projects.","active":true,"categories":["python"],"maintainers":[{"name":"jmr","github":"jmroot","ports_count":370}],"variants":[],"dependencies":[{"type":"build","ports":["py-bootstrap-modules","clang-18","py315-installer"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":[null]}],"depends_on":[{"type":"lib","ports":["py315-build"]}]},{"name":"py315-pyproject_metadata","portdir":"python/py-pyproject_metadata","version":"0.11.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/FFY00/python-pyproject-metadata","description":"Dataclass for PEP 621 metadata with support for core metadata generation","long_description":"Dataclass for PEP 621 metadata with support for core metadata generation","active":true,"categories":["devel","python"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-flit_core","py315-installer"]},{"type":"lib","ports":["python315","py315-packaging"]}],"depends_on":[{"type":"lib","ports":["py315-meson-python"]}]},{"name":"py315-pyqt-builder","portdir":"python/py-pyqt-builder","version":"1.21.0","license":"(GPL-2 or GPL-3 or PSF)","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://www.riverbankcomputing.com/software/pyqt-builder/","description":"The PEP 517 compliant PyQt build system","long_description":"The PEP 517 compliant PyQt build system","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-installer","py315-setuptools","py315-wheel","clang-18","py315-build"]},{"type":"lib","ports":["py315-packaging","py315-sip","python315"]}],"depends_on":[]},{"name":"py315-pytest","portdir":"python/py-pytest","version":"9.2.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://pytest.org","description":"py.test: simple powerful testing with Python","long_description":"The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","clang-18","py315-build","py315-installer","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315","py315-packaging","py315-pluggy","py315-iniconfig","py315-pygments"]},{"type":"run","ports":["pytest_select"]}],"depends_on":[{"type":"lib","ports":["py315-pytest-cov","py315-pytest-remotedata","py315-pytest-asyncio","py315-pytest-describe","py315-pytest-qt","py315-pytest-xdist","py315-pytest-xprocess","py315-pytest-random-order","py315-pytest-recording"]},{"type":"run","ports":["py315-pytest-lazy-fixtures","py315-pytest-mock","py315-pytest-benchmark"]},{"type":"test","ports":["py315-pybcj","py315-cpuinfo","py315-cryptography","py315-gast","py315-pyppmd","py315-pytest-benchmark","py315-pyzstd","py315-scipy","py315-asteval","py315-contourpy","py315-py7zr","py315-wurlitzer","py315-ujson","py315-atomicwrites","py315-autocommand","py315-binaryornot","py315-aiodns","py315-cairo","py315-uncertainties","py315-yapf","py315-colorlog","py315-columnize","py315-propcache","py315-cppy","py315-croniter","py315-cssselect2","py315-docstring-to-markdown","py315-tinycss2","py315-webencodings","py315-yarl","py315-pypng","py315-tzlocal","py315-cbor2","py315-luma.emulator","py315-luma.core","py315-pyftdi","py315-smbus2","py315-charset-normalizer","py315-cftime","py315-nanobind","py315-inflection","py315-jaraco.classes","py315-jaraco.collections","py315-jaraco.functools","py315-more-itertools","py315-kiwisolver","py315-looseversion","py315-pyicu","py315-pytest-asyncio","py315-pytest-mock","py315-distlib","py315-filelock","py315-hatch-fancy-pypi-readme","py315-peakutils","py315-periodictable","py315-jsonpointer","py315-pytest-timeout","py315-qstylizer","py315-appdirs","py315-pyperclip","py315-resvg_py","py315-term-background","py315-text-unidecode","py315-whatthepatch","py315-chardet","py315-cycler","py315-lz4","py315-unicodedata2","py315-xattr","py315-zopfli","py315-protobuf3","py315-xxhash","py315-affine","py315-attrs","py315-click","py315-cligj","py315-markupsafe","py315-zopeinterface","py315-pycryptodome","py315-deprecated","py315-wrapt","py315-shapely","py315-uharfbuzz","py315-stagger","py315-cachetools","py315-pypdf","py315-rope","py315-typing-inspection","py315-certifi","py315-fs","py315-pyfatfs","py315-roman","py315-wcwidth","py315-brotli","py315-XlsxWriter","py315-argh","py315-iocapture","py315-pytest-httpserver","py315-responses","py315-time-machine","py315-uc-micro-py","py315-watchdog","py315-werkzeug","py315-xarray","py315-requests-cache","py315-blinker","py315-jwt","py315-oauthlib","py315-prettytable","py315-pyproj","py315-pytest-lazy-fixtures","py315-pywavelets","py315-requests-oauthlib","py315-svgelements","py315-websocket-client","py315-spiceypy","py315-coworkingview","py315-execnet","py315-iniconfig","py315-asn1","py315-natsort","py315-nmrglue","py315-nmrglue-devel","py315-poyo","py315-id","py315-hpack","py315-hyperframe","py315-h2","py315-h11","py315-pylast","py315-babel","py315-beautifulsoup4","py315-outcome","py315-prompt_toolkit","py315-dnspython","py315-dateutil","py315-freezegun","py315-geographiclib","py315-mock","py315-six","py315-numpy","py315-pretend","py315-inflate64","py315-multivolumefile","py315-beniget","py315-bcrypt"]}]},{"name":"py315-pytest-asyncio","portdir":"python/py-pytest-asyncio","version":"1.4.0","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://pytest-asyncio.readthedocs.io/","description":"pytest support for asyncio","long_description":"asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.","active":true,"categories":["devel","python"],"maintainers":[{"name":"jan","github":"jandemter","ports_count":76}],"variants":[],"dependencies":[{"type":"build","ports":["py315-wheel","py315-setuptools_scm","clang-18","py315-build","py315-installer","py315-setuptools"]},{"type":"lib","ports":["python315","py315-pytest"]},{"type":"test","ports":["py315-pytest","py315-hypothesis"]}],"depends_on":[{"type":"lib","ports":["py315-hanko"]},{"type":"test","ports":["py315-pytest-mock","py315-filelock","py315-responses","py315-xarray","py315-blinker","py315-aiodns","py315-outcome"]}]},{"name":"py315-pytest-benchmark","portdir":"python/py-pytest-benchmark","version":"5.3.0","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ionelmc/pytest-benchmark","description":"A pytest fixture for benchmarking code.","long_description":"A pytest fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer.","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","py315-wheel","py315-setuptools","clang-18","py315-build"]},{"type":"lib","ports":["python315"]},{"type":"run","ports":["py315-cpuinfo","py315-pytest"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"test","ports":["py315-cryptography","py315-pyppmd","py315-py7zr","py315-spiceypy"]}]},{"name":"py315-pytest-cov","portdir":"python/py-pytest-cov","version":"7.1.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-cov","description":"Pytest plugin for measuring coverage.","long_description":"Pytest plugin for measuring coverage.","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-hatch-fancy-pypi-readme","clang-18","py315-build","py315-installer","py315-hatchling"]},{"type":"lib","ports":["py315-pluggy","py315-pytest","py315-coverage","python315"]}],"depends_on":[{"type":"test","ports":["py315-pyppmd"]}]},{"name":"py315-pytest-describe","portdir":"python/py-pytest-describe","version":"3.2.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-describe","description":"Describe-style plugin for pytest","long_description":"Describe-style plugin for pytest","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-uv-build"]},{"type":"lib","ports":["python315","py315-pytest"]}],"depends_on":[]},{"name":"py315-pytest-httpserver","portdir":"python/py-pytest-httpserver","version":"1.2.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/csernazs/pytest-httpserver","description":"HTTP server for pytest","long_description":"This library is designed to help to test http clients without contacting the real http server. In other words, it is a fake http server which is accessible via localhost can be started with the pre-defined expected http requests and their responses.","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","py315-poetry-core","clang-18","py315-build"]},{"type":"lib","ports":["python315","py315-werkzeug"]},{"type":"test","ports":["py315-pytest","py315-requests"]}],"depends_on":[{"type":"test","ports":["py315-py7zr","py315-responses"]}]},{"name":"py315-pytest-lazy-fixtures","portdir":"python/py-pytest-lazy-fixtures","version":"1.4.1","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/dev-petrov/pytest-lazy-fixtures","description":"Use pytest fixtures in @pytest.mark.parametrize","long_description":"Use pytest fixtures in @pytest.mark.parametrize, through lf() and lfc(). This is a separate project from pytest-lazy-fixture (py-pytest-lazy-fixture).","active":true,"categories":["devel","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-build","clang-18","py315-installer","py315-hatchling"]},{"type":"lib","ports":["python315"]},{"type":"run","ports":["py315-pytest"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"test","ports":["py315-prettytable"]}]},{"name":"py315-pytest-mock","portdir":"python/py-pytest-mock","version":"3.16.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-mock/","description":"Thin-wrapper around the mock package for easier use with py.test","long_description":"Thin-wrapper around the mock package for easier use with py.test. This plugin installs a mocker fixture which is a thin-wrapper around the patching API provided by the mock package, but with the benefit of not having to worry about undoing patches at the end of a test.","active":true,"categories":["devel","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools","py315-setuptools_scm","py315-wheel","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["python315"]},{"type":"run","ports":["py315-mock","py315-pytest"]},{"type":"test","ports":["py315-pytest","py315-pytest-asyncio"]}],"depends_on":[{"type":"test","ports":["py315-tzlocal","py315-filelock","py315-qstylizer","py315-pyfatfs","py315-natsort"]}]},{"name":"py315-pytest-qt","portdir":"python/py-pytest-qt","version":"4.5.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-qt","description":"pytest plugin for Qt (PyQt5/PyQt6 and PySide2/PySide6) application testing","long_description":"pytest plugin for Qt (PyQt5/PyQt6 and PySide2/PySide6) application testing","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-setuptools","py315-wheel","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["py315-pytest","python315"]}],"depends_on":[]},{"name":"py315-pytest-random-order","portdir":"python/py-pytest-random-order","version":"1.1.1","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/jbasko/pytest-random-order","description":"Randomise the order in which pytest tests are run with some control over the randomness","long_description":"Randomise the order in which pytest tests are run with some control over the randomness","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-build","py315-setuptools","py315-wheel","clang-18","py315-installer"]},{"type":"lib","ports":["py315-pytest","python315"]}],"depends_on":[{"type":"test","ports":["py315-pylast"]}]},{"name":"py315-pytest-recording","portdir":"python/py-pytest-recording","version":"0.14.1","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/kiwicom/pytest-recording","description":"A pytest plugin powered by VCR.py to record and replay HTTP traffic","long_description":"A pytest plugin powered by VCR.py to record and replay HTTP traffic","active":true,"categories":["python"],"maintainers":[],"variants":["universal"],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-hatchling"]},{"type":"lib","ports":["py315-pytest","py315-vcrpy","python315"]}],"depends_on":[{"type":"test","ports":["py315-pylast"]}]},{"name":"py315-pytest-remotedata","portdir":"python/py-pytest-remotedata","version":"0.4.2","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/astropy/pytest-remotedata","description":"Pytest plugin for controlling remote data access.","long_description":"Pytest plugin for controlling remote data access.","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-installer","py315-setuptools","py315-wheel","clang-18","py315-build"]},{"type":"lib","ports":["py315-packaging","py315-pytest","python315"]}],"depends_on":[{"type":"test","ports":["py315-py7zr"]}]},{"name":"py315-pytest-runner","portdir":"python/py-pytest-runner","version":"6.0.1","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-runner","description":"pytest-runner adds test support to setup.py scripts","long_description":"pytest-runner adds test support to setup.py scripts. Setup scripts can use pytest-runner to invoke py.test as distutils command and provices dependency resolution.","active":true,"categories":["devel","python"],"maintainers":[{"name":"petr","github":"petrrr","ports_count":636}],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-setuptools","py315-wheel","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["py315-setuptools","python315"]}],"depends_on":[{"type":"build","ports":["py315-pdbecif"]}]},{"name":"py315-pytest-subtests","portdir":"python/py-pytest-subtests","version":"0.15.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-subtests","description":"unittest subTest() support and subtests fixture.","long_description":"unittest subTest() support and subtests fixture.","active":true,"categories":["devel","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","clang-18","py315-build","py315-setuptools_scm","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]}],"depends_on":[]},{"name":"py315-pytest-timeout","portdir":"python/py-pytest-timeout","version":"2.4.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-timeout","description":"py.test plugin to abort hanging tests","long_description":"py.test plugin to abort hanging tests","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","clang-18","py315-build","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"test","ports":["py315-pyppmd","py315-py7zr","py315-luma.emulator","py315-luma.core","py315-filelock","py315-pypdf","py315-werkzeug"]}]},{"name":"py315-pytest-xdist","portdir":"python/py-pytest-xdist","version":"3.8.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-xdist","description":"The pytest_xdist plugin extends py.test with some unique test execution modes","long_description":"The pytest_xdist plugin extends py.test with some unique test execution modes","active":true,"categories":["devel","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-installer","py315-setuptools","py315-wheel","clang-18","py315-build"]},{"type":"lib","ports":["py315-execnet","py315-pytest","python315"]}],"depends_on":[{"type":"test","ports":["py315-cryptography","py315-xarray","py315-iniconfig"]}]},{"name":"py315-pytest-xprocess","portdir":"python/py-pytest-xprocess","version":"1.0.2","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/pytest-dev/pytest-xprocess/","description":"A pytest plugin for managing processes across test runs.","long_description":"A pytest plugin for managing processes across test runs.","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-installer","py315-setuptools","py315-wheel","clang-18","py315-build"]},{"type":"lib","ports":["py315-pytest","py315-psutil","python315"]}],"depends_on":[{"type":"test","ports":["py315-werkzeug"]}]},{"name":"py315-python-discovery","portdir":"python/py-python-discovery","version":"1.9.5","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/tox-dev/python-discovery","description":"Python interpreter discovery","long_description":"Python interpreter discovery","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-hatch-fancy-pypi-readme","py315-installer","py315-hatchling","py315-hatch-vcs","clang-18","py315-build"]},{"type":"lib","ports":["py315-platformdirs","py315-filelock","python315"]}],"depends_on":[{"type":"lib","ports":["py315-virtualenv"]}]},{"name":"py315-python-multipart","portdir":"python/py-python-multipart","version":"0.0.33","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/Kludex/python-multipart","description":"A streaming multipart parser for Python","long_description":"A streaming multipart parser for Python","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-hatchling"]},{"type":"lib","ports":["python315"]}],"depends_on":[]},{"name":"py315-pythran","portdir":"python/py-pythran","version":"0.19.0","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/serge-sans-paille/pythran","description":"Ahead of Time compiler for numeric kernels","long_description":"Ahead of Time compiler for numeric kernels","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-wheel","clang-18","py315-build","py315-installer","py315-setuptools"]},{"type":"lib","ports":["python315","py315-numpy","py315-beniget","py315-gast","py315-ply"]}],"depends_on":[{"type":"build","ports":["py315-scipy"]}]},{"name":"py315-pytoolconfig","portdir":"python/py-pytoolconfig","version":"1.3.1","license":"LGPL-3+","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/bagel897/pytoolconfig","description":"Python tool configuration","long_description":"Python tool configuration","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-pdm-backend"]},{"type":"lib","ports":["python315","py315-packaging"]}],"depends_on":[{"type":"lib","ports":["py315-rope"]}]},{"name":"py315-pytzdata","portdir":"python/py-pytzdata","version":"2020.1","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/sdispater/pytzdata","description":"The Olson timezone database for Python","long_description":"The Olson timezone database for Python","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-poetry-core"]},{"type":"lib","ports":["python315"]}],"depends_on":[{"type":"lib","ports":["py315-tzlocal"]}]},{"name":"py315-pyuca","portdir":"python/py-pyuca","version":"1.2","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/jtauber/pyuca","description":"a Python implementation of the Unicode Collation Algorithm","long_description":"a Python implementation of the Unicode Collation Algorithm","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]}],"depends_on":[]},{"name":"py315-pyusb","portdir":"python/py-pyusb","version":"1.3.1","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://pyusb.github.io/pyusb/","description":"Python library to provide easy USB device access","long_description":"The PyUSB module provides Python with easy access to the host machine's Universal Serial Bus (USB) system","active":true,"categories":["devel","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","py315-setuptools","py315-wheel","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["python315"]},{"type":"run","ports":["libusb"]}],"depends_on":[{"type":"run","ports":["py315-pyftdi"]}]},{"name":"py315-pyvo","portdir":"python/py-pyvo","version":"1.10.0","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/astropy/pyvo","description":"Astropy affiliated package for accessing Virtual Observatory data and services","long_description":"Astropy affiliated package for accessing Virtual Observatory data and services","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1679}],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools_scm","clang-18","py315-build","py315-installer","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["py315-requests","py315-Pillow","py315-astropy","py315-defusedxml","python315"]}],"depends_on":[]},{"name":"py315-pywavelets","portdir":"python/py-pywavelets","version":"1.10.0","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/PyWavelets/pywt","description":"PyWavelets is a Python wavelet transforms module","long_description":"PyWavelets is a Python wavelet transforms module.","active":true,"categories":["science","math","python"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-cython","py315-meson-python","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["python315","py315-numpy"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"run","ports":["py315-imagehash"]}]},{"name":"py315-pyzstd","portdir":"python/py-pyzstd","version":"0.20.0","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/Rogdham/pyzstd","description":"Python bindings to Zstandard (zstd) compression library, the API is similar to Python's bz2/lzma/zlib module.","long_description":"Python bindings to Zstandard (zstd) compression library, the API is similar to Python's bz2/lzma/zlib module.","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-installer","clang-18","py315-build","py315-hatchling","py315-hatch-vcs"]},{"type":"lib","ports":["python315"]},{"type":"test","ports":["py315-pytest"]}],"depends_on":[{"type":"lib","ports":["py315-py7zr"]}]},{"name":"py315-qrcode","portdir":"python/py-qrcode","version":"8.2","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/lincolnloop/python-qrcode","description":"QR Code image generator","long_description":"QR Code image generator","active":true,"categories":["graphics","python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py315-poetry-core","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["python315","py315-six","py315-Pillow","py315-pypng"]}],"depends_on":[{"type":"lib","ports":["py315-hanko"]}]},{"name":"py315-qstylizer","portdir":"python/py-qstylizer","version":"0.2.4","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/blambright/qstylizer","description":"Qt stylesheet generation utility for PyQt/PySide","long_description":"Qt stylesheet generation utility for PyQt/PySide","active":true,"categories":["devel","python"],"maintainers":[{"name":"reneeotten","github":"reneeotten","ports_count":2439}],"variants":[],"dependencies":[{"type":"build","ports":["py315-setuptools","py315-pbr","py315-wheel","clang-18","py315-build","py315-installer"]},{"type":"lib","ports":["python315"]},{"type":"run","ports":["py315-inflection","py315-tinycss2"]},{"type":"test","ports":["py315-pytest","py315-pytest-mock"]}],"depends_on":[]},{"name":"py315-railroad-diagrams","portdir":"python/py-railroad-diagrams","version":"3.0.1","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/tabatkins/railroad-diagrams","description":"A small library for generating railroad diagrams.","long_description":"A small library for generating railroad diagrams.","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py315-build","py315-installer","py315-setuptools","py315-wheel"]},{"type":"lib","ports":["python315"]}],"depends_on":[{"type":"lib","ports":["py315-parsing"]}]},{"name":"py315-rasterio","portdir":"python/py-rasterio","version":"1.5.2","license":"BSD","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/rasterio/rasterio","description":"Rasterio reads and writes geospatial raster data.","long_description":"Rasterio reads and writes geospatial raster data.","active":true,"categories":["python","gis"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":["universal"],"dependencies":[{"type":"build","ports":["py315-installer","py315-build","clang-18","py315-cython","py315-wheel","py315-setuptools"]},{"type":"lib","ports":["gdal","python315","py315-numpy"]},{"type":"run","ports":["py315-cligj","py315-click","py315-attrs","py315-affine","py315-parsing","py315-certifi"]}],"depends_on":[]},{"name":"py315-reportlab","portdir":"python/py-reportlab","version":"5.0.1","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://www.reportlab.com/software/opensource/rl-toolkit/","description":"Engine for creating PDF documents","long_description":"The ReportLab Toolkit is a library for programatically creating documents in PDF format.","active":true,"categories":["textproc","python"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":[],"dependencies":[{"type":"build","ports":["py315-wheel","py315-build","py315-installer","py315-setuptools","clang-18"]},{"type":"lib","ports":["py315-Pillow","py315-chardet","python315"]}],"depends_on":[{"type":"lib","ports":["py315-svglib"]}]},{"name":"py315-requests","portdir":"python/py-requests","version":"2.34.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://requests.readthedocs.io/","description":"Python HTTP for Humans.","long_description":"Most existing Python modules for dealing HTTP requests are insane. I have to look up everything that I want to do. Most of my worst Python experiences are a result of the various built-in HTTP libraries (yes, even worse than Logging). But this one's different. This one's going to be awesome. And simple. Really simple.","active":true,"categories":["devel","python"],"maintainers":[{"name":"stromnov","github":"stromnov","ports_count":2960}],"variants":[],"dependencies":[{"type":"build","ports":["py315-wheel","clang-18","py315-build","py315-installer","py315-setuptools"]},{"type":"lib","ports":["python315","py315-certifi","py315-charset-normalizer","py315-idna","py315-urllib3"]}],"depends_on":[{"type":"lib","ports":["py315-pyvo","py315-hanko-certvalidator","py315-hanko","py315-id","py315-dnspython","py315-pooch","py315-requests-mock","py315-responses","py315-requests-cache","py315-requests-oauthlib","py315-pynamecheap"]},{"type":"run","ports":["py315-sphinx","py315-requests-toolbelt"]},{"type":"test","ports":["py315-pytest-httpserver"]}]}]}