🦀🐍 Rust Functions for Python (rsfn4py)
Uma coleção de módulos de alta performance escritos em Rust para serem consumidos nativamente em projetos Python, focando em processamento rápido e baixo consumo de memória.
O primeiro módulo desta biblioteca traz validação de CNPJ (incluindo o novo formato alfanumérico da IN RFB 2.119/2022, válido a partir de julho de 2026) e CPF, processados em Rust e expostos para Python com foco em alto throughput.
🚀 Recursos
- Performance Extrema: Algoritmos matemáticos e parsing de strings otimizados usando iterators do Rust.
- Cobertura de Documentos Fiscais: Validação de CNPJ (numérico e alfanumérico) e CPF, com tratamento de máscara e entradas inválidas.
- Novo Padrão RFB: Suporte nativo ao cálculo de DV (Dígito Verificador) do CNPJ utilizando a tabela ASCII, aceitando tanto os CNPJs antigos (somente números) quanto o novo formato alfanumérico.
- Integração PyO3: A biblioteca é exportada como um C-Extension (
cdylib), funcionando como um pacote Python comum sem necessidade de configurações complexas por parte de quem a utiliza. - Fallback em Python: Inclui a mesma implementação em Python puro para casos de teste, comparação ou ambientes restritos.
📦 Instalação
Você pode instalar o pacote diretamente via pip:
pip install rsfn4py
(O pacote já distribui wheels pré-compilados para Linux, macOS e Windows nas versões mais recentes do Python).
💻 Como Usar
O uso é idêntico a qualquer outra biblioteca Python. As funções de validação limpam a entrada e aplicam o cálculo de DV para cada documento.
from rsfn4py import (
validate_cnpj_rust,
validate_cnpj_python,
validate_cpf_rust,
validate_cpf_python,
)
cnpj_valido = "12.345.678/0001-95"
novo_cnpj_alfanumerico = "12ABC34501DE35"
cnpj_invalido = "11.111.111/1111-11"
cpf_valido = "529.982.247-25"
cpf_invalido = "111.111.111-11"
# Validação ultra-rápida em Rust (Recomendado para produção)
print(validate_cnpj_rust(cnpj_valido)) # Saída: True
print(validate_cnpj_rust(novo_cnpj_alfanumerico)) # Saída: True
print(validate_cnpj_rust(cnpj_invalido)) # Saída: False
# Implementação em Python puro (Para comparação ou fallback)
print(validate_cnpj_python(cnpj_valido)) # Saída: True
# CPF em Rust e Python
print(validate_cpf_rust(cpf_valido)) # Saída: True
print(validate_cpf_rust(cpf_invalido)) # Saída: False
print(validate_cpf_python(cpf_valido)) # Saída: True
🪪 Validação de CPF
O CPF (Cadastro de Pessoas Físicas) é o documento de identificação fiscal de pessoas físicas no Brasil, composto por 11 dígitos numéricos, sendo os dois últimos dígitos verificadores.
Exemplos de uso
from rsfn4py import validate_cpf_rust, validate_cpf_python
# Aceita entrada com ou sem máscara (pontos e traço)
validate_cpf_rust("529.982.247-25") # True — CPF válido com máscara
validate_cpf_rust("52998224725") # True — CPF válido sem máscara
validate_cpf_rust("529.982.247-26") # False — Dígito verificador inválido
validate_cpf_rust("111.111.111-11") # False — Sequência conhecidamente inválida
# Fallback em Python puro
validate_cpf_python("529.982.247-25") # True
Algoritmo de validação do CPF
- Remove a máscara (pontos e traço), ficando com 11 dígitos.
- Rejeita sequências com todos os dígitos iguais (ex.:
111.111.111-11). - Primeiro dígito verificador: multiplica os 9 primeiros dígitos pelos pesos 10 a 2, soma os produtos, calcula o resto da divisão por 11 e aplica a regra: resto < 2 → dígito = 0, senão dígito = 11 − resto.
- Segundo dígito verificador: repete o processo com os 10 primeiros dígitos e pesos 11 a 2.
- Compara os dígitos calculados com os dois últimos da entrada.
🏢 Validação de CNPJ
O CNPJ (Cadastro Nacional da Pessoa Jurídica) é o documento de identificação fiscal de empresas no Brasil. Possui 14 caracteres, sendo os dois últimos dígitos verificadores.
A partir de julho de 2026, a Receita Federal passa a emitir CNPJs no novo formato alfanumérico (IN RFB 2.119/2022). Esta biblioteca suporta ambos os formatos simultaneamente.
Exemplos de uso
from rsfn4py import validate_cnpj_rust, validate_cnpj_python
# Formato numérico tradicional — com e sem máscara
validate_cnpj_rust("12.345.678/0001-95") # True — CNPJ numérico com máscara
validate_cnpj_rust("12345678000195") # True — CNPJ numérico sem máscara
validate_cnpj_rust("11.111.111/1111-11") # False — Sequência inválida
# Novo formato alfanumérico (IN RFB 2.119/2022, a partir de julho de 2026)
validate_cnpj_rust("12ABC34501DE35") # True — Exemplo oficial SERPRO sem máscara
validate_cnpj_rust("12.ABC.345/01DE-35") # True — Exemplo oficial SERPRO com máscara
# Fallback em Python puro
validate_cnpj_python("12.345.678/0001-95") # True
Estrutura do CNPJ
| Posições | Conteúdo | Formato antigo | Novo formato (jul/2026) |
|---|---|---|---|
| 1–8 | Raiz (empresa) | Numérico | Alfanumérico |
| 9–12 | Ordem (filial) | Numérico | Alfanumérico |
| 13–14 | Dígitos verificadores | Numérico | Numérico |
Os CNPJs existentes (apenas numéricos) permanecem válidos. O formato alfanumérico será emitido somente para novas inscrições a partir de julho de 2026. Os dois formatos coexistirão indefinidamente.
Algoritmo de validação do CNPJ (numérico e alfanumérico)
O cálculo dos dígitos verificadores segue o algoritmo oficial do SERPRO, adaptado para suportar letras:
- Remove a máscara (pontos, barra e traço).
- Converte cada caractere para seu valor numérico: dígitos valem seu próprio valor (0–9); letras valem seu código ASCII menos 48 (A=10, B=11, …, Z=35).
- Primeiro dígito verificador: aplica os pesos
[5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]sobre os 12 primeiros caracteres convertidos. Soma os produtos, calcula o resto da divisão por 11: resto < 2 → dígito = 0, senão dígito = 11 − resto. - Segundo dígito verificador: aplica os pesos
[6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]sobre os 12 primeiros caracteres convertidos mais o primeiro dígito calculado. Mesma regra de resto. - Compara os dígitos calculados com os dois últimos da entrada.
Exemplo de cálculo — CNPJ alfanumérico 12ABC34501DE35 (SERPRO)
Conversão dos caracteres (12ABC34501DE):
| Char | 1 | 2 | A | B | C | 3 | 4 | 5 | 0 | 1 | D | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valor | 1 | 2 | 10 | 11 | 12 | 3 | 4 | 5 | 0 | 1 | 13 | 14 |
Primeiro dígito verificador:
| Pesos | 5 | 4 | 3 | 2 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Produto | 5 | 8 | 30 | 22 | 108 | 24 | 28 | 30 | 0 | 4 | 39 | 28 |
Somatório: 459 → Resto de 459 ÷ 11 = 8 → Dígito = 11 − 8 = 3
Segundo dígito verificador:
| Pesos | 6 | 5 | 4 | 3 | 2 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| (inclui o primeiro dígito 3 na última posição) |
Somatório: 424 → Resto de 424 ÷ 11 = 6 → Dígito = 11 − 6 = 5
Resultado: 12.ABC.345/01DE-35 ✅
⚡ Benchmark
Executando make bench com 100.000 validações por cenário (CPF e CNPJ), os resultados recentes foram:
Análise 1: Tempo de execução (s)
| Documento | Python | Rust |
|---|---|---|
| CNPJ | 0,684318s | 0,063321s |
| CPF | 0,713108s | 0,039088s |
Análise 2: Throughput (validações/segundo)
| Documento | Python | Rust |
|---|---|---|
| CNPJ | 146.131/s | 1.579.264/s |
| CPF | 140.231/s | 2.558.310/s |
Speedup Rust sobre Python
| Documento | Ganho |
|---|---|
| CNPJ | 10,81x |
| CPF | 18,24x |
🛠️ Setup Local e Desenvolvimento
Se você deseja clonar o repositório para contribuir ou adicionar novos serviços em Rust, siga o passo a passo abaixo.
Pré-requisitos
- Rust & Cargo (Instalador
rustup) - Python 3.8+
1. Preparando o Ambiente
Clone o repositório e crie um ambiente virtual (venv):
git clone https://github.com/Desbravando-Rust/rsfn4py.git
cd rsfn4py
python -m venv .venv
source .venv/bin/activate # No Windows use: .venv\Scripts\activate
2. Instalando Dependências de Build
Utilizamos o Maturin como build system para compilar o código Rust e linká-lo ao Python.
pip install -U pip pytest maturin
3. Compilando o Código Rust Localmente
Para compilar o módulo C-Extension de forma transparente e já instalá-lo no seu .venv, basta rodar:
maturin develop --release
O parâmetro --release aplica as otimizações completas do compilador Rust. Se omitido, a compilação será mais rápida, porém a execução será mais lenta (modo debug).
4. Executando os Testes
Com os bindings instalados localmente, execute o pytest para validar o comportamento do módulo nativo contra os casos de teste:
pytest -v tests/
5. Executando Benchmark (CPF + CNPJ)
O projeto possui um alvo pronto no Makefile para comparar implementacoes Rust (PyO3) e Python puro nas validacoes de CPF e CNPJ, com duas analises:
- Tempo de execucao total.
- Throughput (validacoes por segundo).
Execucao padrao (100.000 validacoes por cenario):
make bench
Executar com outro volume:
make bench TOTAL_VALIDACOES=500000
Exemplo de saida:
Benchmark CPF/CNPJ - Rust vs Python
Total de validacoes por cenario: 100000
Analise 1: Tempo de execucao (s)
--------------------------------
Documento | Implementacao | Tempo (s)
----------+---------------+----------
CNPJ | Python | 0,684318
CNPJ | Rust | 0,063321
CPF | Python | 0,713108
CPF | Rust | 0,039088
Analise 2: Throughput (validacoes/segundo)
------------------------------------------
Documento | Implementacao | Throughput
----------+---------------+-----------
CNPJ | Python | 146.131
CNPJ | Rust | 1.579.264
CPF | Python | 140.231
CPF | Rust | 2.558.310
📄 Licença
Este projeto está sob a licença MIT. Sinta-se livre para usá-lo, modificá-lo e distribuí-lo. Veja o arquivo LICENSE para mais detalhes.
Metadata
Release files for rsfn4py 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rsfn4py-0.2.5.tar.gz | 30.9 kB | Details |
Built distributions (wheels)
Total release size: 5.0 MB
Release files / rsfn4py-0.2.5.tar.gz
| Download URL | rsfn4py-0.2.5.tar.gz |
|---|---|
| Size | 30.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
68f89f7d121ebe0b4a004bea797d4a213ec82c83a77b5cf769e8ebe7e2eb7525
|
|
BLAKE2b-256 checksum How to use checksums |
fd808abe9cd8b29c3403224200be4a803b9d04a903b0853b9ee6fef0c81812fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp312-cp312-win_amd64.whl
| Download URL | rsfn4py-0.2.5-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 105.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d8a9c71bb2a4d8f931662f14b0967ffcef03125bd54c546f0e9ab7e295e528c1
|
|
BLAKE2b-256 checksum How to use checksums |
61e60c1cbe36751f5d9890205f5aab81850e039dccdf89447aeebafa49f070e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rsfn4py-0.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 237.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
25918cb2a83416ff1c03868b5ed143549e4c551067d1798d0776e515036c2141
|
|
BLAKE2b-256 checksum How to use checksums |
d2ab563b566d000f1588fa5d76ec157608c4f6f61b264f6317bf5184b1cb5c0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rsfn4py-0.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 233.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
8c02579f45422a4c891207cdc8cc84d665d996ecfeb7b106eebf9c9d2f882e2c
|
|
BLAKE2b-256 checksum How to use checksums |
07c1997b2f90727122fd5ee5659fd9ad656323ceaa4f98e3b3c8d2552e693533
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | rsfn4py-0.2.5-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 405.0 kB |
| Tags | CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6c191db6368068598654d9d9a2b9840adaf960de9fa38c18038222a2d9ea7619
|
|
BLAKE2b-256 checksum How to use checksums |
7a440d134c411a4d8eea3001b6af8573883ed2929d938f1a22c8e6b49bb4289a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp311-cp311-win_amd64.whl
| Download URL | rsfn4py-0.2.5-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 107.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a7bf730e0e286645ea767305c92596cfd8f3a079136ad26ce8b6f1d26f92b36f
|
|
BLAKE2b-256 checksum How to use checksums |
43467542a140055c79c2bdf7b82cc9ac9ea889b9bd91a5c095946df0bd5602a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rsfn4py-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 241.1 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b96e0157008820c42ecd520558cff4472273fb8bfbcd91ac7fd28bc6435b3039
|
|
BLAKE2b-256 checksum How to use checksums |
13fe92758f9b583ca2ff1d2c7dcf9bc27da44f507ca952c77144d4441d4e5586
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rsfn4py-0.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 236.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
53d1ab5b22baadb1eef3c0316155db6df07957ecf602aaf54300a0c0fa4aee54
|
|
BLAKE2b-256 checksum How to use checksums |
8be26aa651d0740d59f0ad6ca5461936d7a6e18fbdeab0c230c71e3f15b92499
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | rsfn4py-0.2.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 412.0 kB |
| Tags | CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b1fe833823d9d7d4c0ff69ad67444c22fe28f30efc7724db5f3db33712cca095
|
|
BLAKE2b-256 checksum How to use checksums |
bd72aaf46fc851b9c352d719513d3c6d4bebcb44afee3a2505fed93e1ec30c5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp310-cp310-win_amd64.whl
| Download URL | rsfn4py-0.2.5-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 107.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
162600ca916d74a774169c5576231999418317a61cdbd3bc9b8e1e7828ce03e9
|
|
BLAKE2b-256 checksum How to use checksums |
43581cce361940efc9d0fa3a6dd80e1cd0b035eaf21eac02877e3676d5fb022f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rsfn4py-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 241.3 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
cdafed82422dd15d24070b1c1b14e7ed0b05d49f317639a7719a793dc058a0e6
|
|
BLAKE2b-256 checksum How to use checksums |
caf96f778d60d4007c117db06d842986307a61f5d9d04ada2602b2a6c2cfa67a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rsfn4py-0.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 237.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7e37a2fdad40a32a12def8d7649164a0974f20258d981c15c8d90d76ede8603
|
|
BLAKE2b-256 checksum How to use checksums |
81c27e08adabad5997eb214b9cd5b1919f9f811291e6961c1ed51f62f39af1d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | rsfn4py-0.2.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 412.3 kB |
| Tags | CPython 3.10 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1deb160fab21a1a4d9fed360a4484abf1890bcebe8a26fa83f483a3860c17a4f
|
|
BLAKE2b-256 checksum How to use checksums |
1cb3a75c77a1e64230563ea4655d8332674413ecb24c402b0c6c6dd382367775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp39-cp39-win_amd64.whl
| Download URL | rsfn4py-0.2.5-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 107.1 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
16bc67cd61b6eecd2443325d20cfe868c4d9f71559933eaf897eaf1a44190097
|
|
BLAKE2b-256 checksum How to use checksums |
c05ff03294c1007d31d9503cda7ca4824c918cf2c42c17056735a4e27f2105b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rsfn4py-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 241.8 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
50e0a1ef8d4385c83d9f37c27a2766d59286a489fe2ded8a9abfcffccf984d3b
|
|
BLAKE2b-256 checksum How to use checksums |
a09e99a51796a3d247a105d749a31e1b57d01004d71b3d41aab59e2d4943e5d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rsfn4py-0.2.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 237.7 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
7c2c2881bab600ec002154985640abaf6fe974255c5e53e2941fbff364940174
|
|
BLAKE2b-256 checksum How to use checksums |
9649a602fc8d97a92d232da10de648d79fe50b5d12396e07d5568aaf377ceae0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | rsfn4py-0.2.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 411.5 kB |
| Tags | CPython 3.9 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
25fa61eb1d41c069c7ab2a3aafd10935827b30750cc9e7c28a3913e9d90b35ca
|
|
BLAKE2b-256 checksum How to use checksums |
f6eebb2d87b7b89ed0334f0052a3e0bc551b7a8ba09d676330bdd18c3e61f8a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp38-cp38-win_amd64.whl
| Download URL | rsfn4py-0.2.5-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 107.2 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
efc0cb7b28536a25632cc615272c6a6ce90222c6a84dabc75c84b03be7c183c7
|
|
BLAKE2b-256 checksum How to use checksums |
4bbc24c118e3817359156b5df79e5b230afa325043ab09ca9dfb875272c17764
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rsfn4py-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 242.2 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c99e3de3054ab4ecaaef708dc8cfadbbe38374657d3b7ff816bee158419b3fa9
|
|
BLAKE2b-256 checksum How to use checksums |
99ee027a85cfac279df08514e493c33e51c633e210fb5681714a7364b3a8dc5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rsfn4py-0.2.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 237.5 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
cb393cceb7be542bae21c2dfb6de1ef30fa532d1231ecf9f99a24701eed50061
|
|
BLAKE2b-256 checksum How to use checksums |
5e74a55e24bbc66d405794fa3be09d85e79b2561ffa5f3d3a190fa3d0006715b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency logRelease files / rsfn4py-0.2.5-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | rsfn4py-0.2.5-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 411.8 kB |
| Tags | CPython 3.8 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
17e55f8d310d98ca06ca1b28b751ee503ed522d388cc3fdc75ce22e87eae9d1a
|
|
BLAKE2b-256 checksum How to use checksums |
b347e7aee6e49f9293c38dbdd8142958609e70181d237b106ccebdabac59a932
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 20, 2026.
Transparency log