2026-09-18 11:27:51 -04:00
[ build-system ]
requires = [ "maturin>=1.9,<2.0" ]
build-backend = "maturin"
[ project ]
name = "typikon"
2026-09-21 07:46:58 -04:00
description = "The Orthodox liturgical day: feasts, seasons and the fast, computed rather than fetched. Twenty Orthodox jurisdictions and four Byzantine Catholic churches, across the Julian, Revised Julian and Gregorian reckonings."
2026-09-18 11:27:51 -04:00
readme = "README.md"
license = "GPL-2.0-only"
license-files = [ "LICENSE" ]
requires-python = ">=3.9"
keywords = [ "orthodox" , "liturgical" , "calendar" , "byzantine" , "pascha" , "fasting" ]
classifiers = [
2026-09-18 13:40:37 -04:00
"Development Status :: 5 - Production/Stable" ,
"Environment :: Console" ,
2026-09-18 11:27:51 -04:00
"Intended Audience :: Developers" ,
2026-09-18 13:40:37 -04:00
"Intended Audience :: End Users/Desktop" ,
"Operating System :: POSIX :: Linux" ,
"Programming Language :: Python :: 3" ,
"Programming Language :: Python :: 3.9" ,
"Programming Language :: Python :: 3.10" ,
"Programming Language :: Python :: 3.11" ,
"Programming Language :: Python :: 3.12" ,
"Programming Language :: Python :: 3.13" ,
2026-09-18 11:27:51 -04:00
"Programming Language :: Python :: Implementation :: CPython" ,
2026-09-18 13:40:37 -04:00
"Programming Language :: Rust" ,
2026-09-18 11:27:51 -04:00
"Topic :: Religion" ,
"Topic :: Software Development :: Libraries" ,
"Typing :: Typed" ,
]
# maturin takes it from Cargo.toml, so there is one place to bump.
dynamic = [ "version" ]
[ project . urls ]
Homepage = "https://git.pumpin.online/funkpower/typikon"
Repository = "https://git.pumpin.online/funkpower/typikon"
2026-09-18 13:40:37 -04:00
Changelog = "https://git.pumpin.online/funkpower/typikon/src/branch/main/CHANGELOG.md"
Documentation = "https://git.pumpin.online/funkpower/typikon/src/branch/main/docs/calendars.md"
Issues = "https://git.pumpin.online/funkpower/typikon/issues"
2026-09-18 11:27:51 -04:00
[ tool . maturin ]
bindings = "pyo3"
module-name = "typikon._typikon"
# Mixed layout: the compiled module is private and python/typikon wraps it, which
# is what lets the wheel carry py.typed and a stub file. A bare extension module
# has nowhere to put either.
python-source = "python"
# The crate also builds a CLI, and the pyo3 dependency is optional so that
# `cargo build` of it does not try to link against a Python that is not there.
# This is the only place the feature gets turned on.
features = [ "python" ]
strip = true