Chuyển tới nội dung chính

Python Dependencies Licenses

Complete documentation of all 168 Python packages used in the UIP - Urban Intelligence Platform.

Summary

CategoryPackagesPrimary License
Machine Learning & CV15BSD/Apache-2.0
Web Framework & API12MIT/BSD
Database & Storage8Apache-2.0/MIT
RDF & Linked Data5BSD
Data Processing10BSD
Messaging & Events3Apache-2.0
Utilities25+MIT/BSD
Development Tools15+MIT

Core Machine Learning & Computer Vision

Deep Learning Frameworks

PackageVersionLicenseSPDX IDDescription
torch2.9.1BSD-3-ClauseBSD-3-ClausePyTorch deep learning framework
torchvision0.24.1BSDBSD-3-ClauseComputer vision library for PyTorch
torchaudio2.9.1BSDBSD-2-ClauseAudio processing for PyTorch

Transformers & NLP

PackageVersionLicenseSPDX IDDescription
transformers4.57.3Apache-2.0Apache-2.0State-of-the-art NLP/ML models
huggingface-hub0.36.0Apache-2.0Apache-2.0Hugging Face model hub client
tokenizers0.25.0Apache-2.0Apache-2.0Fast tokenizers
safetensors0.5.3Apache-2.0Apache-2.0Safe tensor serialization
accelerate1.7.0Apache-2.0Apache-2.0Training acceleration

Object Detection

PackageVersionLicenseSPDX IDDescription
yolox0.3.0Apache-2.0Apache-2.0YOLOX object detection

Computer Vision

PackageVersionLicenseSPDX IDDescription
opencv-python4.12.0Apache-2.0Apache-2.0Computer vision library
opencv-python-headless4.12.0Apache-2.0Apache-2.0Headless OpenCV
pillow12.0.0MIT-CMUHPNDImage processing
scikit-image0.25.2BSDBSD-3-ClauseImage processing algorithms

Model Formats

PackageVersionLicenseSPDX IDDescription
onnx1.20.0Apache-2.0Apache-2.0ONNX model format
onnxruntime1.22.0MITMITONNX Runtime inference
timm1.0.22Apache-2.0Apache-2.0PyTorch image models

Web Framework & API

FastAPI Stack

PackageVersionLicenseSPDX IDDescription
fastapi0.123.8MITMITModern async web framework
uvicorn0.38.0BSD-3-ClauseBSD-3-ClauseASGI server
starlette0.50.0BSD-3-ClauseBSD-3-ClauseASGI framework
pydantic2.12.5MITMITData validation
pydantic-core2.33.2MITMITPydantic core
pydantic-settings2.9.1MITMITSettings management

HTTP Clients

PackageVersionLicenseSPDX IDDescription
httpx0.28.1BSDBSD-3-ClauseAsync HTTP client
aiohttp3.13.2Apache-2.0Apache-2.0Async HTTP client/server
requests2.32.5Apache-2.0Apache-2.0HTTP library
urllib32.4.0MITMITHTTP client

WebSocket

PackageVersionLicenseSPDX IDDescription
websockets15.0.1BSDBSD-3-ClauseWebSocket implementation
python-socketio5.13.0MITMITSocket.IO client

Database & Storage

PostgreSQL

PackageVersionLicenseSPDX IDDescription
asyncpg0.31.0Apache-2.0Apache-2.0PostgreSQL async driver
psycopg2-binary2.9.10LGPL-3.0LGPL-3.0-onlyPostgreSQL driver

psycopg2 LGPL allows linking without copyleft obligations.

MongoDB

PackageVersionLicenseSPDX IDDescription
pymongo4.15.5Apache-2.0Apache-2.0MongoDB driver
motor3.8.0Apache-2.0Apache-2.0Async MongoDB driver

Redis

PackageVersionLicenseSPDX IDDescription
redis7.1.0MITMITRedis client
aioredis2.0.1MITMITAsync Redis client

Neo4j

PackageVersionLicenseSPDX IDDescription
neo4j6.0.3Apache-2.0Apache-2.0Neo4j driver

RDF & Linked Data

PackageVersionLicenseSPDX IDDescription
rdflib7.5.0BSDBSD-3-ClauseRDF library
rdflib-jsonld0.6.2BSDBSD-3-ClauseJSON-LD plugin
isodate0.7.2BSDBSD-3-ClauseISO 8601 parser
SPARQLWrapper2.0.0W3CW3CSPARQL client

Data Processing

NumPy Ecosystem

PackageVersionLicenseSPDX IDDescription
numpy2.2.6BSDBSD-3-ClauseNumerical computing
pandas2.3.3BSDBSD-3-ClauseData analysis
scipy1.15.3BSDBSD-3-ClauseScientific computing

Data Formats

PackageVersionLicenseSPDX IDDescription
PyYAML6.0.3MITMITYAML parser
orjson3.10.18Apache-2.0/MITApache-2.0 OR MITFast JSON
ujson5.10.0BSDBSD-3-ClauseUltra-fast JSON
msgpack1.1.0Apache-2.0Apache-2.0MessagePack

Messaging & Events

PackageVersionLicenseSPDX IDDescription
kafka-python2.3.0Apache-2.0Apache-2.0Apache Kafka client
aiokafka0.12.0Apache-2.0Apache-2.0Async Kafka client
pika1.3.2BSDBSD-3-ClauseRabbitMQ client

Utilities

Logging & Monitoring

PackageVersionLicenseSPDX IDDescription
loguru0.7.3MITMITLogging library
structlog25.4.0Apache-2.0/MITApache-2.0 OR MITStructured logging
rich14.2.0MITMITRich text formatting
tqdm4.67.1MIT/MPL-2.0MITProgress bars

CLI & Configuration

PackageVersionLicenseSPDX IDDescription
click8.3.1BSD-3-ClauseBSD-3-ClauseCLI framework
typer0.17.0MITMITCLI builder
python-dotenv1.2.1BSD-3-ClauseBSD-3-ClauseEnvironment variables

Date & Time

PackageVersionLicenseSPDX IDDescription
python-dateutil2.9.0Apache-2.0/BSDApache-2.0Date utilities
pytz2025.2MITMITTimezone library
arrow1.3.0Apache-2.0Apache-2.0Date/time library

PDF Generation

PackageVersionLicenseSPDX IDDescription
reportlab4.4.5BSDBSD-3-ClausePDF generation (pure Python)

Migration Note (2025-12): weasyprint and pyphen have been removed from the project. weasyprint had pyphen (GPL/LGPL) as a dependency, making it incompatible with MIT licensing. PDF generation now uses pure reportlab (BSD license).


Development Tools (Not Distributed)

These packages are development-only and NOT included in production:

PackageVersionLicenseSPDX IDDescription
pytest9.0.1MITMITTesting framework
pytest-asyncio1.3.0Apache-2.0Apache-2.0Async testing
pytest-cov7.0.0MITMITCoverage plugin
black25.11.0MITMITCode formatter
ruff0.1+MITMITLinting & import sorting
mypy1.19.0MITMITType checking

✅ All development tools are 100% MIT-compatible. Previously used GPL tools (pylint, astroid, flake8, isort) have been replaced with ruff (MIT).


Verification Commands

# Generate license report
pip-licenses --format=markdown --with-urls

# Check for GPL/LGPL
pip-licenses | grep -E "GPL|LGPL"

# Export to CSV
pip-licenses --format=csv > python-licenses.csv

References