{"count":51768,"next":"https://ports.macports.org/api/v1/ports/?format=json&ordering=updated_at&page=1013","previous":"https://ports.macports.org/api/v1/ports/?format=json&ordering=updated_at&page=1011","results":[{"name":"go-tools","portdir":"devel/go-tools","version":"0.44.0","license":"BSD","platforms":"darwin freebsd linux","epoch":7,"replaced_by":null,"homepage":"https://github.com/golang/tools","description":"Various packages and tools that support the Go programming language.","long_description":"Various packages and tools that support the Go programming language.","active":true,"categories":["devel"],"maintainers":[{"name":"ciserlohn","github":"ci42","ports_count":35},{"name":"herby.gillot","github":"herbygillot","ports_count":1045},{"name":"enckse","github":"enckse","ports_count":3}],"variants":[],"dependencies":[{"type":"build","ports":["go","clang-18"]}],"depends_on":[]},{"name":"octave-fxp","portdir":"octave/octave-fxp","version":"3.0.1","license":"GPL-3+","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ahmedshahein/pkg-fxp","description":"A lightweight fixed-point numeric data type for GNU Octave, implemented as a class (@fxp/fxp.m).","long_description":"A lightweight fixed-point numeric data type for GNU Octave, implemented as a class (@fxp/fxp.m). The library is intended for fixed-point modeling, algorithm validation, and educational use.","active":true,"categories":["science","math","octave"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-20"]},{"type":"lib","ports":["octave"]}],"depends_on":[]},{"name":"py-tifffile","portdir":"python/py-tifffile","version":"2026.4.11","license":"BSD","platforms":"any","epoch":0,"replaced_by":null,"homepage":"https://github.com/cgohlke/tifffile/","description":"Store numpy data arrays in TIFF files.","long_description":"Store numpy data arrays in TIFF files. Read image and metadata from TIFF-like files used in bioimaging.","active":true,"categories":["science","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18"]},{"type":"lib","ports":["py314-tifffile"]}],"depends_on":[]},{"name":"py310-tifffile","portdir":"python/py-tifffile","version":"2026.4.11","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/cgohlke/tifffile/","description":"Store numpy data arrays in TIFF files.","long_description":"Store numpy data arrays in TIFF files. Read image and metadata from TIFF-like files used in bioimaging.","active":true,"categories":["science","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":["imagecodecs","lxml","matplotlib"],"dependencies":[{"type":"build","ports":["clang-18","py310-wheel","py310-build","py310-installer","py310-setuptools"]},{"type":"lib","ports":["py310-cython","py310-numpy","python310"]}],"depends_on":[{"type":"run","ports":["py310-scikit-image"]}]},{"name":"py311-tifffile","portdir":"python/py-tifffile","version":"2026.4.11","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/cgohlke/tifffile/","description":"Store numpy data arrays in TIFF files.","long_description":"Store numpy data arrays in TIFF files. Read image and metadata from TIFF-like files used in bioimaging.","active":true,"categories":["science","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":["imagecodecs","lxml","matplotlib"],"dependencies":[{"type":"build","ports":["clang-18","py311-installer","py311-setuptools","py311-wheel","py311-build"]},{"type":"lib","ports":["py311-cython","py311-numpy","python311"]}],"depends_on":[{"type":"run","ports":["py311-scikit-image"]}]},{"name":"py312-tifffile","portdir":"python/py-tifffile","version":"2026.4.11","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/cgohlke/tifffile/","description":"Store numpy data arrays in TIFF files.","long_description":"Store numpy data arrays in TIFF files. Read image and metadata from TIFF-like files used in bioimaging.","active":true,"categories":["science","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":["imagecodecs","lxml","matplotlib"],"dependencies":[{"type":"build","ports":["clang-18","py312-installer","py312-setuptools","py312-wheel","py312-build"]},{"type":"lib","ports":["py312-cython","py312-numpy","python312"]}],"depends_on":[{"type":"run","ports":["py312-scikit-image"]}]},{"name":"py313-tifffile","portdir":"python/py-tifffile","version":"2026.4.11","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/cgohlke/tifffile/","description":"Store numpy data arrays in TIFF files.","long_description":"Store numpy data arrays in TIFF files. Read image and metadata from TIFF-like files used in bioimaging.","active":true,"categories":["science","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":["imagecodecs","lxml","matplotlib"],"dependencies":[{"type":"build","ports":["py313-wheel","py313-build","py313-installer","py313-setuptools","clang-18"]},{"type":"lib","ports":["py313-cython","py313-numpy","python313"]}],"depends_on":[{"type":"lib","ports":["py313-plotpy"]},{"type":"run","ports":["py313-scikit-image"]}]},{"name":"py314-tifffile","portdir":"python/py-tifffile","version":"2026.4.11","license":"BSD","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/cgohlke/tifffile/","description":"Store numpy data arrays in TIFF files.","long_description":"Store numpy data arrays in TIFF files. Read image and metadata from TIFF-like files used in bioimaging.","active":true,"categories":["science","python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":["imagecodecs","lxml","matplotlib"],"dependencies":[{"type":"build","ports":["py314-wheel","py314-build","py314-installer","py314-setuptools","clang-18"]},{"type":"lib","ports":["py314-cython","py314-numpy","python314"]}],"depends_on":[{"type":"lib","ports":["py-tifffile","py314-plotpy","napari"]},{"type":"run","ports":["py314-scikit-image"]}]},{"name":"py39-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":false,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py39-setuptools","py39-wheel","py39-build","py39-installer","clang-17"]},{"type":"lib","ports":["python39"]}],"depends_on":[{"type":"lib","ports":["py39-xhtml2pdf"]}]},{"name":"py38-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":false,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py38-setuptools","py38-wheel","py38-build","py38-installer","clang-16"]},{"type":"lib","ports":["python38"]}],"depends_on":[{"type":"lib","ports":["py38-xhtml2pdf"]}]},{"name":"py36-async-timeout","portdir":"python/py-async-timeout","version":"4.0.2","license":"Apache-2","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":false,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["clang-9.0","py36-setuptools"]},{"type":"lib","ports":["python36","py36-typing_extensions"]}],"depends_on":[{"type":"lib","ports":["py36-aiohttp"]}]},{"name":"py39-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":false,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py39-wheel","py39-installer","clang-17","py39-setuptools","py39-build"]},{"type":"lib","ports":["py39-typing_extensions","python39"]}],"depends_on":[{"type":"lib","ports":["py39-python-socks","py39-redis","py39-aiohttp","py39-aiojobs"]},{"type":"run","ports":["py39-aiopg","py39-asyncpg"]}]},{"name":"py38-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":false,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py38-wheel","py38-installer","clang-16","py38-setuptools","py38-build"]},{"type":"lib","ports":["py38-typing_extensions","python38"]}],"depends_on":[{"type":"lib","ports":["py38-redis","py38-aiohttp","py38-aiojobs"]},{"type":"run","ports":["py38-aiopg","py38-python-socks","py38-asyncpg"]}]},{"name":"py35-async-timeout","portdir":"python/py-async-timeout","version":"3.0.1","license":"Apache-2","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":false,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":["universal"],"dependencies":[{"type":"build","ports":["clang-9.0","py35-setuptools"]},{"type":"lib","ports":["python35"]}],"depends_on":[]},{"name":"py37-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":false,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py37-wheel","py37-installer","clang-16","py37-setuptools","py37-build"]},{"type":"lib","ports":["py37-typing_extensions","python37"]}],"depends_on":[{"type":"lib","ports":["py37-aiojobs","py37-redis","py37-aiohttp"]},{"type":"run","ports":["py37-aiopg"]}]},{"name":"py38-bidi","portdir":"python/py-bidi","version":"0.4.2","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":false,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py38-wheel","py38-installer","clang-16","py38-setuptools","py38-build"]},{"type":"lib","ports":["py38-six","python38"]}],"depends_on":[{"type":"lib","ports":["py38-xhtml2pdf"]},{"type":"run","ports":["py38-kraken"]}]},{"name":"py39-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":false,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py39-setuptools-rust","py39-build","py39-maturin","py39-installer","clang-18"]},{"type":"lib","ports":["python39"]}],"depends_on":[{"type":"lib","ports":["py39-xhtml2pdf"]},{"type":"run","ports":["py39-kraken"]}]},{"name":"openspec","portdir":"llm/openspec","version":"1.3.0","license":"MIT","platforms":"any","epoch":0,"replaced_by":null,"homepage":"https://openspec.dev","description":"OpenSpec -- Spec-driven development for AI coding assistants","long_description":"OpenSpec aligns humans and AI coding assistants with spec-driven development so you agree on what to build before any code is written. No API keys required.","active":true,"categories":["llm"],"maintainers":[{"name":"breun","github":"breun","ports_count":106}],"variants":[],"dependencies":[{"type":"build","ports":["npm10","clang-18"]},{"type":"lib","ports":["nodejs22"]}],"depends_on":[]},{"name":"py-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"any","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18"]},{"type":"lib","ports":["py314-arabic-reshaper"]}],"depends_on":[]},{"name":"py310-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py310-setuptools","py310-wheel","py310-build","py310-installer","clang-18"]},{"type":"lib","ports":["python310"]}],"depends_on":[{"type":"lib","ports":["py310-xhtml2pdf"]}]},{"name":"py311-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py311-build","py311-installer","py311-setuptools","py311-wheel","clang-18"]},{"type":"lib","ports":["python311"]}],"depends_on":[{"type":"lib","ports":["py311-xhtml2pdf"]}]},{"name":"py312-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py312-build","py312-installer","py312-setuptools","py312-wheel","clang-18"]},{"type":"lib","ports":["python312"]}],"depends_on":[{"type":"lib","ports":["py312-xhtml2pdf"]}]},{"name":"py313-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py313-build","py313-installer","py313-setuptools","py313-wheel"]},{"type":"lib","ports":["python313"]}],"depends_on":[{"type":"lib","ports":["py313-xhtml2pdf"]}]},{"name":"py314-arabic-reshaper","portdir":"python/py-arabic-reshaper","version":"3.0.0","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/mpcabd/python-arabic-reshaper/","description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","long_description":"Reconstruct Arabic sentences to be used in applications that don't support Arabic script.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py314-build","py314-installer","py314-setuptools","py314-wheel"]},{"type":"lib","ports":["python314"]}],"depends_on":[{"type":"lib","ports":["py-arabic-reshaper","py314-xhtml2pdf","maigret"]}]},{"name":"py-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"any","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":true,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18"]},{"type":"lib","ports":["py314-async-timeout"]}],"depends_on":[]},{"name":"py310-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":true,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py310-wheel","py310-installer","clang-18","py310-setuptools","py310-build"]},{"type":"lib","ports":["py310-typing_extensions","python310"]}],"depends_on":[{"type":"lib","ports":["py310-aiohttp","py310-aiojobs","py310-redis","py310-python-socks"]},{"type":"run","ports":["py310-aiopg","py310-asyncpg"]}]},{"name":"py311-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":true,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py311-installer","py311-wheel","clang-18","py311-build","py311-setuptools"]},{"type":"lib","ports":["py311-typing_extensions","python311"]}],"depends_on":[{"type":"run","ports":["py311-asyncpg"]}]},{"name":"py312-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":true,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py312-installer","py312-wheel","clang-18","py312-build","py312-setuptools"]},{"type":"lib","ports":["py312-typing_extensions","python312"]}],"depends_on":[{"type":"lib","ports":["matrix-commander"]}]},{"name":"py313-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":true,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py313-build","py313-setuptools","py313-wheel","clang-18","py313-installer"]},{"type":"lib","ports":["py313-typing_extensions","python313"]}],"depends_on":[]},{"name":"py314-async-timeout","portdir":"python/py-async-timeout","version":"4.0.3","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/aio-libs/async-timeout","description":"asyncio-compatible timeout context manager.","long_description":"asyncio-compatible is useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for() is not suitable. Also it's much faster than asyncio.wait_for() because timeout doesn't create a new task.","active":true,"categories":["devel","python"],"maintainers":[{"name":"miguel","github":"ipglider","ports_count":91}],"variants":[],"dependencies":[{"type":"build","ports":["py314-build","py314-setuptools","py314-wheel","clang-18","py314-installer"]},{"type":"lib","ports":["py314-typing_extensions","python314"]}],"depends_on":[{"type":"lib","ports":["py-async-timeout","maigret"]}]},{"name":"py-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"any","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["clang-18"]},{"type":"lib","ports":["py314-bidi"]}],"depends_on":[]},{"name":"py310-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py310-build","py310-setuptools-rust","py310-maturin","py310-installer","clang-18"]},{"type":"lib","ports":["python310"]}],"depends_on":[{"type":"lib","ports":["py310-xhtml2pdf"]},{"type":"run","ports":["py310-kraken"]}]},{"name":"py311-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py311-build","py311-installer","py311-setuptools-rust","py311-maturin","clang-18"]},{"type":"lib","ports":["python311"]}],"depends_on":[{"type":"lib","ports":["py311-xhtml2pdf"]}]},{"name":"py312-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["py312-build","py312-installer","py312-maturin","py312-setuptools-rust","clang-18"]},{"type":"lib","ports":["python312"]}],"depends_on":[{"type":"lib","ports":["py312-xhtml2pdf"]}]},{"name":"py313-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py313-build","py313-installer","py313-setuptools-rust","py313-maturin"]},{"type":"lib","ports":["python313"]}],"depends_on":[{"type":"lib","ports":["py313-xhtml2pdf"]}]},{"name":"py314-bidi","portdir":"python/py-bidi","version":"0.6.7","license":"GPL-3","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/MeirKriheli/python-bidi","description":"Pure python implementation of the BiDi layout algorithm","long_description":"Pure python implementation of the BiDi layout algorithm","active":true,"categories":["python"],"maintainers":[],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py314-build","py314-installer","py314-setuptools-rust","py314-maturin"]},{"type":"lib","ports":["python314"]}],"depends_on":[{"type":"lib","ports":["py-bidi","py314-xhtml2pdf","maigret"]}]},{"name":"mise","portdir":"sysutils/mise","version":"2026.4.10","license":"MIT","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://github.com/jdx/mise","description":"dev tools, env vars, task runner (formerly called 'rtx')","long_description":"mise is a front-end to your dev environment. Like asdf (or nvm or pyenv but for any language) it manages dev tools like node, python, cmake, terraform, and hundreds more. Like direnv it manages environment variables for different project directories. Like make it manages tasks used to build and test projects.","active":true,"categories":["sysutils"],"maintainers":[{"name":"herby.gillot","github":"herbygillot","ports_count":1045},{"name":"austin","github":"halostatue","ports_count":21},{"name":"gjq.uoiai","github":"MisLink","ports_count":3}],"variants":["universal"],"dependencies":[{"type":"build","ports":["cargo","legacy-support","rust","clang-20"]},{"type":"lib","ports":["libunwind"]}],"depends_on":[]},{"name":"py38-requests-futures","portdir":"python/py-requests-futures","version":"1.0.1","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":false,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py38-setuptools","py38-wheel","py38-build","py38-installer","clang-16"]},{"type":"lib","ports":["python38","py38-charset-normalizer","py38-certifi","py38-idna","py38-requests","py38-urllib3"]}],"depends_on":[]},{"name":"py39-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":false,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py39-setuptools","py39-wheel","py39-build","py39-installer","clang-17"]},{"type":"lib","ports":["python39","py39-charset-normalizer","py39-certifi","py39-idna","py39-requests","py39-urllib3"]}],"depends_on":[]},{"name":"py-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"any","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18"]},{"type":"lib","ports":["py314-requests-futures"]}],"depends_on":[]},{"name":"py310-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py310-setuptools","py310-wheel","py310-build","py310-installer","clang-18"]},{"type":"lib","ports":["python310","py310-urllib3","py310-idna","py310-certifi","py310-charset-normalizer","py310-requests"]}],"depends_on":[]},{"name":"py312-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py312-build","py312-installer","py312-setuptools","py312-wheel","clang-18"]},{"type":"lib","ports":["python312","py312-requests","py312-charset-normalizer","py312-certifi","py312-urllib3","py312-idna"]}],"depends_on":[]},{"name":"py313-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py313-build","py313-installer","py313-setuptools","py313-wheel"]},{"type":"lib","ports":["python313","py313-urllib3","py313-certifi","py313-charset-normalizer","py313-idna","py313-requests"]}],"depends_on":[]},{"name":"py314-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py314-build","py314-installer","py314-setuptools","py314-wheel"]},{"type":"lib","ports":["python314","py314-urllib3","py314-charset-normalizer","py314-certifi","py314-idna","py314-requests"]}],"depends_on":[{"type":"lib","ports":["py-requests-futures","maigret"]}]},{"name":"py311-requests-futures","portdir":"python/py-requests-futures","version":"1.0.2","license":"Apache-2","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/ross/requests-futures","description":"Small add-on for the python requests http library.","long_description":"Small add-on for the python requests http library. Makes use of python 3.2's concurrent.futures or the backport for prior versions of python.","active":true,"categories":["python"],"maintainers":[{"name":"mps","github":"Schamschula","ports_count":1401}],"variants":[],"dependencies":[{"type":"build","ports":["py311-build","py311-installer","py311-setuptools","py311-wheel","clang-18"]},{"type":"lib","ports":["python311","py311-urllib3","py311-charset-normalizer","py311-certifi","py311-idna","py311-requests"]}],"depends_on":[]},{"name":"fswatch","portdir":"sysutils/fswatch","version":"1.19.0","license":"GPL-3","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://emcrisostomo.github.io/fswatch/","description":"File change monitor","long_description":"A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.","active":true,"categories":["sysutils"],"maintainers":[{"name":"emcrisostomo","github":"emcrisostomo","ports_count":168}],"variants":["universal"],"dependencies":[{"type":"build","ports":["clang-20"]}],"depends_on":[{"type":"run","ports":["clamav-server"]}]},{"name":"osxphotos","portdir":"graphics/osxphotos","version":"0.75.7","license":"MIT","platforms":"{darwin any}","epoch":0,"replaced_by":null,"homepage":"https://github.com/RhetTbull/osxphotos","description":"Export photos from Apple's macOS Photos app and query the Photos library database to access metadata about images.","long_description":"Export photos from Apple's macOS Photos app and query the Photos library database to access metadata about images.","active":true,"categories":["graphics","python"],"maintainers":[{"name":"breun","github":"breun","ports_count":106},{"name":"rturnbull","github":"RhetTbull","ports_count":39}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18","py314-build","py314-installer","py314-setuptools","py314-wheel"]},{"type":"lib","ports":["py314-click","py314-rich","py314-psutil","py314-wurlitzer","py314-pyobjc","py314-wrapt","py314-toml","py314-tenacity","py314-mako","py314-beautifulsoup4","py314-pathvalidate","py314-mac-alias","py314-bitmath","py314-bpylist2","py314-cgmetadata","py314-markdown2","py314-makelive","py314-objexplore","py314-osxmetadata","py314-photoscript","py314-ptpython","py314-pytimeparse2","py314-rich-theme-manager","py314-shortuuid","py314-strpdatetime","py314-textx","py314-whenever","py314-xdg-base-dirs","python314","py314-packaging","py314-requests","py314-more-itertools","py314-yaml"]},{"type":"run","ports":["py314-utitools"]},{"type":"test","ports":["py314-pytest"]}],"depends_on":[]},{"name":"python315-devel","portdir":"lang/python315-devel","version":"3.15.0a8","license":"PSF","platforms":"darwin","epoch":0,"replaced_by":null,"homepage":"https://www.python.org/","description":"An interpreted, object-oriented programming language","long_description":"Python is an interpreted, interactive, object-oriented programming language.","active":true,"categories":["lang"],"maintainers":[{"name":"jmr","github":"jmroot","ports_count":353}],"variants":["universal","optimizations","lto","tail_call_interp","experimental_jit","dtrace"],"dependencies":[{"type":"build","ports":["clang-18","pkgconfig"]},{"type":"extract","ports":["xz"]},{"type":"lib","ports":["zstd","sqlite3","libedit","libffi","ncurses","bzip2","expat","mpdecimal","gettext-runtime","openssl","xz","zlib"]},{"type":"run","ports":["python3_select-315","python_select-315"]}],"depends_on":[]},{"name":"python315-freethreading-devel","portdir":"lang/python315-devel","version":"3.15.0a8","license":"PSF","platforms":"{darwin >= 15}","epoch":0,"replaced_by":null,"homepage":"https://www.python.org/","description":"An interpreted, object-oriented programming language (free threading)","long_description":"Python is an interpreted, interactive, object-oriented programming language. This port has the free threading feature enabled, i.e. there is no global interpreter lock (GIL).","active":true,"categories":["lang"],"maintainers":[{"name":"jmr","github":"jmroot","ports_count":353}],"variants":["universal","optimizations","lto","tail_call_interp","dtrace"],"dependencies":[{"type":"build","ports":["pkgconfig","clang-18"]},{"type":"extract","ports":["xz"]},{"type":"lib","ports":["zstd","sqlite3","libedit","libffi","bzip2","openssl","expat","mpdecimal","gettext-runtime","ncurses","xz","zlib"]}],"depends_on":[]},{"name":"p5-getopt-yath","portdir":"perl/p5-getopt-yath","version":"2.0.11","license":"(Artistic-1 or GPL)","platforms":"{darwin any}","epoch":0,"replaced_by":"p5.34-getopt-yath","homepage":"https://metacpan.org/pod/Getopt::Yath","description":"Getopt::Yath - Option processing yath style","long_description":"Getopt::Yath - Option processing yath style","active":true,"categories":["perl"],"maintainers":[{"name":"devans","github":"dbevans","ports_count":2636}],"variants":[],"dependencies":[{"type":"build","ports":["clang-18"]},{"type":"lib","ports":["p5.34-getopt-yath"]}],"depends_on":[]}]}