About¶
Project Information¶
NJ Legislature API is a Python client library for interacting with the New Jersey Legislature's API. It provides a comprehensive, type-safe interface to access legislative data.
Features¶
- Complete coverage of NJ Legislature API endpoints
- Type-safe data models using Pydantic
- Built-in caching and rate limiting
- Comprehensive documentation
- CLI tool for quick access
- Extensive test coverage
Author¶
Andrew McAllister - AMcAllister@njleg.org
Repository¶
- GitHub: https://github.com/mcala/nj_legislative_api
- Issues: GitHub Issues
- Discussions: GitHub Discussions
License¶
This project is licensed under the MIT License.
Contributing¶
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new features
- Run the test suite (
make test) - Submit a pull request
Development¶
Setup¶
# Clone repository
git clone https://github.com/mcala/nj_legislative_api.git
cd nj_legislative_api
# Install with development dependencies
uv sync --dev
Running Tests¶
Code Quality¶
Technology Stack¶
- Python 3.13+: Modern Python features
- httpx: Async-capable HTTP client
- Pydantic: Data validation and settings
- Typer: CLI framework
- Rich: Terminal formatting
- pytest: Testing framework
- mkdocs: Documentation generation
Roadmap¶
- [ ] Async support for high-performance applications
- [ ] Webhook support for real-time updates
- [ ] DataFrame export utilities
- [ ] Extended CLI commands
- [ ] GraphQL endpoint support
- [ ] WebSocket streaming for live sessions
Acknowledgments¶
- New Jersey Legislature for providing the public API
- Open source Python community
- All contributors and users
Disclaimer¶
This is an unofficial client library and is not affiliated with or endorsed by the New Jersey Legislature.