Overview
docs |
|
|---|---|
tests |
|
package |
A bunch of form fields and utilities for Romanian counties and localities using SIRUTA codes.
Free software: BSD 2-Clause License
- Data:
Localities: https://data.gov.ro/dataset/activity/siruta-2024
Form fields are designed to pass around integers (assuming you will have the most compact storage).
Form widgets use selectize. JS/CSS not bundled or included in media - you are free to load those however you like.
Installation
pip install django-siruta
You can also install the in-development version with:
pip install https://github.com/ionelmc/django-siruta/archive/main.zip
Documentation
Add siruta to your INSTALLED_APPS and use something like this:
class DemoForm(forms.Form):
county = CountyField(label="Delivery county")
locality = LocalityField(label="Delivery locality")
billing_county = CountyField()
billing_locality = LocalityField(county_field="billing_county")
With bootstrap5 would look like this:
Complete code: https://github.com/ionelmc/django-siruta/blob/main/tests/testproject/views.py
Sphinx docs: https://django-siruta.readthedocs.io/
Development
To run all the tests run:
tox
Note, to combine the coverage data from all the tox environments run:
Windows |
set PYTEST_ADDOPTS=--cov-append tox |
|---|---|
Other |
PYTEST_ADDOPTS=--cov-append tox |
Changelog
v0.3.0 (2026-04-10)
Changed minimum Python to 3.10.
Added mapping of ANAF locality ids in siruta.anaf.
Added siruta.data.LOCALITY_ALIASES - mapping parents to most important child. This is not ideal but ANAF uses the parent instead of the child for company data.
v0.2.1 (2025-10-19)
Move msgspec to optional dependencies (it has some big issues on 3.14). It’s not really optional but perhaps a fork may work better on 3.14.
v0.2.0 (2025-10-13)
Replace siruta.extras.LOCALITIES_BY_NAME with siruta.extras.LOCALITIES_BY_COUNTY_ID_BY_NAME (to avoid name collisions).
v0.1.1 (2025-10-10)
First release on PyPI.
Metadata
Release files for django-siruta 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django_siruta-0.3.0.tar.gz | 1.4 MB | Without provenance | Details for django_siruta-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_siruta-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for django_siruta-0.3.0-py3-none-any.whl |
Total release size: 1.9 MB
Release files / django_siruta-0.3.0.tar.gz
| Download URL | django_siruta-0.3.0.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3867fa5457fbe35411986e60b8d92e6eed2a13708744ef32c2194cdc082b221
|
|
BLAKE2b-256 checksum How to use checksums |
fd7880e8bce5992322f1b024922501a4d063d17a2bbf2696b0d6610099be17aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / django_siruta-0.3.0-py3-none-any.whl
| Download URL | django_siruta-0.3.0-py3-none-any.whl |
|---|---|
| Size | 557.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ea9b19e843a1a4a194aab9358ac0aeb798e0448ee0254567cad05b2332d731d
|
|
BLAKE2b-256 checksum How to use checksums |
ffb783e74ae285bedd04d614b014084fe0c7c74eb14a1d66a0cfc751d91a1e86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for django-siruta 0.3.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.