Skip to main content

fasti-dates

PyPI

Python bindings for fasti — dates, calendars, business-day conventions and day-count fractions for financial code, in native Rust with no floating-point arithmetic anywhere.

The distribution is fasti-dates; the import name is fasti, matching the crate. fasti on PyPI is an unrelated FastAPI project manager, and fasti-py is refused as too similar to it — PyPI strips a py affix before comparing names.

That project also installs its own top-level fasti package, so having both in one environment would leave whichever was installed second. It has published two 0.0.0.dev releases and nothing since, and matching the crate name is worth more here than insuring against a collision with a placeholder — but if you need both, install them in separate environments.

$ pip install fasti-dates

Wheels are abi3 from CPython 3.10 up, so one wheel per platform covers every version, and a new CPython needs no new wheel.

The boundary

This is a translation layer, not a second library. Every name maps to one in the crate, with the same method names, the same semantics and the same argument order.

  • Dates in and out are datetime.date, and nothing else. A str is refused, naming datetime.date.fromisoformat. A datetime.datetime is refused too: which day a moment falls on is a time-zone decision, and this library has no time-zone concept — call .date() yourself.
  • Year fractions come back as fractions.Fraction. Never a float. The crate is float-free, and that has to survive the boundary.
  • Errors are FastiError, a ValueError. Type mistakes are TypeError.
>>> import datetime
>>> from fasti.calendars import us
>>> us.SETTLEMENT.is_holiday("2024-07-04")
Traceback (most recent call last):
TypeError: fasti takes a datetime.date, not a str: ...
>>> us.SETTLEMENT.is_holiday(datetime.datetime(2024, 7, 4, 23, 30))
Traceback (most recent call last):
TypeError: fasti takes a datetime.date, not a datetime.datetime: ...
  • Values are immutable. Every mutator returns a new value; every value compares, hashes and pickles.

The operators the crate defines are spelled the Python way, and only those: a date steps by a period, and the two vocabularies the crate orders are the two that sort.

>>> import datetime
>>> from fasti import Frequency, Period, Weekday
>>> datetime.date(2026, 1, 15) + Period.months(6)
datetime.date(2026, 7, 15)
>>> datetime.date(2026, 1, 31) + Period.months(1)   # Add clamps; it never snaps
datetime.date(2026, 2, 28)
>>> sorted([Weekday.SUN, Weekday.MON]), Frequency.ANNUAL < Frequency.MONTHLY
([Weekday.MON, Weekday.SUN], True)

End-of-month preservation is Calendar.advance's business, not +'s — the same split the crate makes between Add and Date::advance. A BusinessDayConvention refuses < because the crate gives it no order.

Quickstart

>>> import datetime
>>> from fasti import DayCount, Period, Rule, Schedule
>>> from fasti.calendars import us

>>> us.SETTLEMENT.is_business_day(datetime.date(2024, 7, 4))
False
>>> us.SETTLEMENT.adjust(datetime.date(2024, 7, 4), "following")
datetime.date(2024, 7, 5)
>>> us.SETTLEMENT.advance(datetime.date(2025, 1, 31), Period.months(1),
...                       "modified following", True)
datetime.date(2025, 2, 28)

>>> schedule = Schedule(datetime.date(2025, 1, 15), datetime.date(2026, 1, 15),
...                     "semiannual", us.GOVERNMENT_BOND)
>>> schedule.dates()
[datetime.date(2025, 1, 15), datetime.date(2025, 7, 15), datetime.date(2026, 1, 15)]

>>> DayCount.act_act_icma("semiannual").bind(schedule).year_fraction(
...     datetime.date(2025, 1, 15), datetime.date(2025, 4, 15))
Fraction(45, 181)

A Schedule is its coupon dates: it has a length, indexes, slices, iterates and reverses, because the crate's schedule derefs to [Date]. Slicing gives you the dates; after and until are what give you back a schedule, since a bare run of dates names no lattice.

>>> schedule[1:], schedule[-1], len(schedule)
([datetime.date(2025, 7, 15), datetime.date(2026, 1, 15)], datetime.date(2026, 1, 15), 3)

Calendars compose:

>>> from fasti.calendars import france, us
>>> joint = us.SETTLEMENT.union(france.SETTLEMENT)
>>> joint.is_holiday(datetime.date(2026, 7, 14)), joint.is_holiday(datetime.date(2026, 11, 26))
(True, True)
>>> quiet = joint.with_rule(Rule.one_off(datetime.date(2026, 8, 3))).with_name("Acme")
>>> quiet.name
'Acme'

Reading the API

One rule settles what is a property and what is a method: a field in the crate is a property here, a method there is a method here. So calendar.name and period.unit are properties, while day_count.name(), period.length() and frequency.per_year() are calls. It is not the usual Python instinct — the usual instinct is that anything cheap is a property — but it means you can read the Rust docs and know what to type without a second table.

Vocabularies

Conventions, weekdays, frequencies, weekend shifts, Easter methods and generation rules are classes with constants — and every argument that takes one also takes a string. Matching ignores case and punctuation, so "ModifiedFollowing", "modified_following" and "modified following" are one spelling. The canonical spelling is what prints, pickles and appears in errors.

>>> from fasti import BusinessDayConvention, WeekendShift
>>> BusinessDayConvention("mod_following") is BusinessDayConvention.MODIFIED_FOLLOWING
False
>>> BusinessDayConvention("mod_following") == BusinessDayConvention.MODIFIED_FOLLOWING
True
>>> WeekendShift("SunForward")
WeekendShift.SUN_FORWARD

The spellings describe the thing, never a market that uses it. A shift is SUN_FORWARD or SAT_BACK_SUN_FORWARD; it is not "the Fed one", because an institution is not a rule and its convention can change without this library hearing about it. The US federal convention is in fact SAT_BACK_SUN_FORWARD, so a "fed" spelling would have sat one keystroke from a "federal" that means something else.

The string spelling is parsed on every call, so in a loop that runs millions of times it is worth passing the member instead — measured on a CI runner, advance costs 904 ns with "modifiedfollowing" and 520 ns with BusinessDayConvention.MODIFIED_FOLLOWING. benches/compare.py re-measures this, and everything else claimed about speed here, on your own machine.

Equality and pickling

Calendar and Rule compare structurally — two values are equal when they were built the same way. That is not "these two agree on every date": settling that means walking 1901 through 2199. (Rule cannot derive equality in the crate at all, since its escape hatch holds a function pointer.)

Everything pickles. A built-in calendar travels as its registry name, because it holds those function-pointer rules; a derived one travels as the operations applied to it; a generated Schedule replays its generation arguments, because its stub reference grid is not recoverable from the dates alone.

Typing

The package ships type stubs and py.typed. Date positions are spelled datetime.date.

A type checker cannot reject a datetime.datetime where a datetime.date is wanted — datetime subclasses date, so it type-checks. The runtime rejects it.

What is not here

  • Rule.Custom. The crate's escape hatch is a bare fn(Date) -> bool pointer, which no Python callable can be.
  • Date, Year, Month, Ordinal, Weekend, Fraction. Python already has datetime.date and fractions.Fraction; months, years and ordinals are ints; a weekend is a sequence of Weekday.

Development

See CONTRIBUTING.md. In short:

$ uv sync            # or: pip install maturin pytest mypy
$ maturin develop
$ pytest && mypy

License

Apache-2.0 OR MIT, the same as the crate.

Metadata

Release files for fasti-dates 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fasti-dates 0.2.0
File Size Uploaded
fasti_dates-0.2.0.tar.gz 206.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fasti-dates 0.2.0
File
fasti_dates-0.2.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
fasti_dates-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
fasti_dates-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
fasti_dates-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
fasti_dates-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
fasti_dates-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
fasti_dates-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
fasti_dates-0.2.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
fasti_dates-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
fasti_dates-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
fasti_dates-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
fasti_dates-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
fasti_dates-0.2.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
fasti_dates-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 6.0 MB

Release files / fasti_dates-0.2.0.tar.gz

Download URL fasti_dates-0.2.0.tar.gz
Size 206.7 kB
Tags Source
SHA-256 checksum
How to use checksums
045a1a9e544847b40a28641ddc0cb0402ff83955cf455b191dab559d78e429a4
BLAKE2b-256 checksum
How to use checksums
be2ee3429dc98d95b0679cc8357e0e51ea837e73ec3201c9905a75d408e9f49e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-win_amd64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-win_amd64.whl
Size 276.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
bb87b1bc51b4a82661e8c3e7ccb674ae2ea6a1e71d39cde24cb28014b450f66e
BLAKE2b-256 checksum
How to use checksums
72667b721beed194ce8dffc994c08a5cd50688f10055f2d4a4dd12344211fbf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 584.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
59ff4f2828dc416fa475a863b7e96c648e3a3903b64cdabcfda7fb6ae4fd4e11
BLAKE2b-256 checksum
How to use checksums
ec3231941bab97a98aeb214b5903f3bba6e287af4e5d29ab0576ceee29f83b51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 537.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9c6c5c66db2ee568b4a50a73a853f0f451e67d6c471d72736844248579a5d3a5
BLAKE2b-256 checksum
How to use checksums
69ce59b26a92b74921bc342ff699472fefb819d6e6d61372c35d42e1f24a48b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 374.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
edd4757ee9cfd6c13c6c1200d021901496b68c3fa5b69a4f18b90fed07d82a67
BLAKE2b-256 checksum
How to use checksums
37343701eedce5b9810b6b4450d46398e5933746e6c9d239ad7af6b33ac6c7eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 358.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
880239fc52d317bf2133267260ca1808ec23e353dc9d0ac1f6acda2cbd04a7de
BLAKE2b-256 checksum
How to use checksums
8e91ba616698afdf69e58cc199ef661a647f83bb202c6b0e720326f9d9f6ca92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 351.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d4a33bb0981245cde4911786d522387550d5b396139543c3bfb5c36e588f28b6
BLAKE2b-256 checksum
How to use checksums
3a7bf723a8dc9e06e97d053e3a74fc81fcb4c14e2ed4e3ef068c46a25cd86003
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL fasti_dates-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 362.7 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
fd38be25aa870bed66be3efc8a19043bd83f79f90edbfa94e12b0b44364ff3d4
BLAKE2b-256 checksum
How to use checksums
ae805ca04f17d9ac0b318a6ad0e14fa34446b90face526809cde41e67f93b7c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-win_amd64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-win_amd64.whl
Size 285.8 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
0504e636889d4bed35fb9993296bc27f9edb443804145ca7014f1cf1d6b39327
BLAKE2b-256 checksum
How to use checksums
a86b6e80e282c5492e78a68cd7416f159657a94e8bfb092212dd5930eb90d1ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
Size 595.6 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
4ea45e9daa57b6f223d05e528b2244c53206a07cef8d67f14b382f41ebaf6ef9
BLAKE2b-256 checksum
How to use checksums
2e362b380fd718cb6ca87591c96c985da8daecb7a617497321e2d2837d4eb336
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
Size 546.4 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
6cca2ed69e2bec3ddb157fe3a5e7ef5b1297cb198b543236e1184ffd907c72e4
BLAKE2b-256 checksum
How to use checksums
52142b31103c853ec55cf36144755ea2aa56fd61efad68d501728cc037111ffd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 386.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
f1467fd66a59ccf575ffdfe3777df5f6774d8038e2f7b612b12ed51c8e746588
BLAKE2b-256 checksum
How to use checksums
0ebd0d3db1fc4fd5cc0a255064d9a457541f6205e6bdf48704e31ea28c5dd24e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 368.3 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
8f3cbc4b279b21abb7bbcad08e1e7808be057285ebbd7972cf26f78f1ae124f2
BLAKE2b-256 checksum
How to use checksums
b7dec3614600403e5de3f287ecaee5569ad03d9931ca0ec4bda1ba6717600db3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Size 362.0 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4e6df6f2ac60a4bd76078d64e855d8a04ef425310c278abb741943a145d940c9
BLAKE2b-256 checksum
How to use checksums
e1c261206a0292c8b389f42e2565561a093bf5775120824c353d20f1d094ddcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / fasti_dates-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL fasti_dates-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 359.7 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
516deb6c09479b555b97fdb328f9aea38ef4d4513d82ba9141f370b4e8b13cbe
BLAKE2b-256 checksum
How to use checksums
9d273798a66042d6dcf42cd25de93977eeb8d78189b879de5e23861387f33af3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.1

15 release files

This release

0.2.0 This release

15 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page