Releases: jmbg-labs/python
Releases · jmbg-labs/python
v1.0.0
Release Notes
Version 1.0.0 (2026-03-30)
🎉 Initial Release
First stable release of the JMBG Python library for validating and parsing Serbian unique master citizen numbers (JMBG - Jedinstveni Matični Broj Građana).
✨ Features
-
JMBG Validation: Comprehensive validation with multiple checks
- Length validation (13 digits)
- Format validation (numeric only)
- Date validation (including leap year support)
- Region code validation
- Checksum validation (modulo 11 algorithm)
-
Information Extraction:
- Birth date parsing
- Age calculation
- Gender determination (male/female)
- Region and country information
- Access to all JMBG components (day, month, year, region, unique number, checksum)
-
Supported Regions:
- Serbia (71-79): Belgrade, Kragujevac, Niš, etc.
- Serbia/Vojvodina (80-89): Novi Sad, Subotica, Pančevo, etc.
- Serbia/Kosovo (91-96): Priština, Peć, Prizren, etc.
- Bosnia and Herzegovina (10-19)
- Montenegro (21-29)
- Croatia (30-39)
- Macedonia (41-49)
- Slovenia (50)
-
Convenient API:
Jmbgclass for parsing and accessing JMBG datavalid()function for quick validationparse()function for parsing- Type hints for better IDE support
- Custom
JmbgErrorexception with descriptive error messages
-
Additional Features:
- Adult status check (
is_adult()- 18+ years) - String representation and formatting
- Equality comparison and hashing support
- No external dependencies
- Adult status check (
📚 Documentation
- Comprehensive README with examples
- Complete API documentation in docstrings
- Usage examples for common scenarios
- MIT License
🧪 Testing
- Full test suite with 23 unit tests
- 100% test coverage for core functionality
- Tests for edge cases (leap years, boundary unique numbers, etc.)
📦 Package Information
- Package Name:
jmbg-labs - Python Support: Python 3.8+
- License: MIT
- Repository: https://github.com/jmbg-labs/python
🚀 Installation
pip install jmbg-labs💡 Quick Start
from jmbg import Jmbg, valid
# Validate JMBG
if valid('0710003730015'):
jmbg = Jmbg('0710003730015')
print(f"Age: {jmbg.get_age()}")
print(f"Gender: {'Male' if jmbg.is_male() else 'Female'}")
print(f"Region: {jmbg.region_text}")🙏 Credits
Developed by JMBG Labs
Upcoming Features
Future releases may include:
- Additional validation options
- Export to different formats (JSON, dict)
- Bulk validation utilities
- Performance optimizations
- Extended region information
For full documentation, visit the GitHub repository.