Skip to main content

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

  1. Fork the repository
  2. 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
    
  3. Create a feature branch (git checkout -b feature/amazing-feature)
  4. Make your changes
  5. Add new dependencies with uv add <package> (for permanent dependencies)
  6. Run tests (uv run pytest)
  7. Commit your changes (git commit -m 'Add amazing feature')
  8. Push to the branch (git push origin feature/amazing-feature)
  9. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clifpy-0.0.3.tar.gz (53.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clifpy-0.0.3-py3-none-any.whl (61.2 kB view details)

Uploaded Python 3

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

Hashes for clifpy-0.0.3.tar.gz
Algorithm Hash digest
SHA256 afbea420775dcb42108d980381bf76c6ff68654851174ca17c2f91d6b1291782
MD5 6bd58d80387eca6d9a8668aedf4733dc
BLAKE2b-256 bed90de8ff8afc33dab65815c9f120f4686da7186215db31995825a935f7f3ec

See more details on using hashes here.

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

Hashes for clifpy-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52221703424181bf271f02264785ffc366fe4eb8ab412a59d5ffa2a588a1b2eb
MD5 c1fd92671181e73a6ddefc5479dc9a4c
BLAKE2b-256 27bb46a2a8a41446eaa4c587bc8c146c7c990231e5b5f914f05cfe91ff6c9308

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page