A Python package for working with CLIF EHR data
Project description
clifpy - Python Client for CLIF
⚠️ Status: This project is currently in active development
clifpy is a Python package for working with CLIF (Common Longitudinal ICU data Format) data. It provides a standardized interface for loading, validating, and analyzing critical care data across different healthcare systems.
🚧 Project Status
✅ Completed Features
- Core CLIF-2.0.0 class implementation
- All 9 CLIF-2.0.0 beta table implementations (patient, vitals, labs, etc.)
- Data validation against mCIDE schemas
- Timezone handling and conversion
- Advanced filtering and querying capabilities
- Comprehensive test suite
- CLIF Demo Dataset created using MIMIC-IV Clinical Database Demo
- Example notebooks demonstrating usage
🔄 In Progress
- Package distribution setup (PyPI)
- Additional clinical calculation functions
- Performance optimizations for large datasets
- Enhanced documentation
- Integration with additional data sources
📋 Planned Features
- SOFA score calculations
- Additional clinical severity scores
- Data visualization utilities
- Export functionality to other formats
📦 Installation
User Installation
For most users, simply install from PyPI using pip:
pip install clifpy
This is all you need to start using clifpy in your projects.
📋 Requirements
- Python 3.8+
- pandas >= 2.0.0
- duckdb >= 0.9.0
- pyarrow >= 10.0.0
- pytz
- pydantic >= 2.0
See pyproject.toml for complete dependencies.
🤝 Contributing
We welcome contributions! Please see our contributing guidelines (coming soon).
Prerequisites
First, install uv if you haven't already:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or on Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Development Setup
- Fork the repository
- Clone your fork and set up the development environment:
# Clone the repository git clone https://github.com/<your github username>/clifpy.git cd clifpy # Install dependencies and create virtual environment automatically uv sync
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add new dependencies with
uv add <package>(for permanent dependencies) - Run tests (
uv run pytest) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Commands
# Run tests
uv run pytest
# Add a new dependency (updates pyproject.toml)
uv add <package>
# Add a development dependency
uv add --dev <package>
# Install temporary/experimental package (not committed to pyproject.toml)
uv pip install <package>
# Run any Python script
uv run python your_script.py
# Sync dependencies after pulling changes
uv sync
📄 License
This project is licensed under the [LICENSE] file in the repository.
🔗 Links
📧 Contact
For questions or support, please open an issue on GitHub.
Note: This project is under active development. APIs may change between versions until the 1.0 release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clifpy-0.0.3.tar.gz.
File metadata
- Download URL: clifpy-0.0.3.tar.gz
- Upload date:
- Size: 53.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afbea420775dcb42108d980381bf76c6ff68654851174ca17c2f91d6b1291782
|
|
| MD5 |
6bd58d80387eca6d9a8668aedf4733dc
|
|
| BLAKE2b-256 |
bed90de8ff8afc33dab65815c9f120f4686da7186215db31995825a935f7f3ec
|
File details
Details for the file clifpy-0.0.3-py3-none-any.whl.
File metadata
- Download URL: clifpy-0.0.3-py3-none-any.whl
- Upload date:
- Size: 61.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52221703424181bf271f02264785ffc366fe4eb8ab412a59d5ffa2a588a1b2eb
|
|
| MD5 |
c1fd92671181e73a6ddefc5479dc9a4c
|
|
| BLAKE2b-256 |
27bb46a2a8a41446eaa4c587bc8c146c7c990231e5b5f914f05cfe91ff6c9308
|