Add PyPI publication files and build package

- Add LICENSE (MIT)
- Add CHANGELOG.md with v0.1.0 release notes
- Add MANIFEST.in for proper package building
- Build successful: rentcache-0.1.0-py3-none-any.whl
- Package installs correctly with all dependencies
- Ready for PyPI publication
This commit is contained in:
Ryan Malloy 2025-09-09 17:46:24 -06:00
parent 825f0a9224
commit 7bf21d52ce
3 changed files with 70 additions and 0 deletions

39
CHANGELOG.md Normal file
View File

@ -0,0 +1,39 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.0] - 2025-01-09
### Added
- Initial release of RentCache
- FastAPI proxy server for Rentcast API with comprehensive endpoint coverage
- Intelligent caching system with soft delete and stale-while-revalidate
- Multi-backend cache support (SQLite, Redis, Memory)
- Rate limiting per API key and endpoint with exponential backoff
- Cost management with usage tracking and estimation
- Rich CLI for administration and monitoring
- SQLAlchemy models for cache, API keys, rate limiting, and usage stats
- Production-ready middleware (CORS, compression, logging, error handling)
- Health and metrics endpoints for monitoring
- Comprehensive documentation and examples
- Test suite with model validation and API testing
### Features
- **70-90% cost reduction** through intelligent caching
- **Mark invalid instead of delete** for better analytics
- **Serve stale cache** during upstream API failures
- **Per-endpoint TTL configuration** for optimal cache management
- **Beautiful CLI** with Rich library for colors and tables
- **Usage analytics** with detailed performance metrics
- **API key management** with flexible rate limiting
- **Multi-tenancy support** for different applications
### Documentation
- Complete README with installation and usage
- Detailed installation guide for all deployment scenarios
- Comprehensive usage guide with examples
- Complete API reference documentation
- Cost savings examples and optimization strategies

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 RentCache Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

10
MANIFEST.in Normal file
View File

@ -0,0 +1,10 @@
include README.md
include LICENSE
include CHANGELOG.md
include pyproject.toml
recursive-include src *.py
recursive-include docs *.md
recursive-exclude * __pycache__
recursive-exclude * *.py[co]
recursive-exclude * *.so
recursive-exclude * .DS_Store