A Kotlin Multiplatform framework for CARP (Copenhagen Research Platform) data science and analytics processing.
- Type-Safe Tabular Data: Modern tabular data structures with full CARP semantics preservation
- Multiplatform Support: Kotlin Multiplatform targeting JVM (with future JS/Native support)
- CARP Integration: Seamless integration with existing CARP data structures and workflows
- Execution Framework: Pluggable execution strategies for data processing workflows
- Python Integration: First-class support for Python scripts and conda environments
- Data Retrieval: Built-in HTTP-based data retrieval with retry logic
- Auto Environment Setup: Automatic conda environment creation and management
📖 Quick Start Guide - Get started in minutes!
📘 Complete Documentation - Comprehensive guide covering:
- Architecture and design decisions
- Module structure and components
- Demos and examples
- API reference
- Troubleshooting
Quick Links:
- JDK 17 or higher
- Kotlin 2.1.20+
- (Optional) Conda - for running Python-based demos
# Clone and build
git clone https://github.com/ngreve/carp-dsp.git
cd carp-dsp
./gradlew build
# Run a demo
./gradlew :carp.dsp.demo:jvmRun -PmainClass=carp.dsp.demo.DexcomRetrievalDemoMainKtSee Demos and Examples for more examples.
./gradlew build# All tests
./gradlew test
# Module-specific tests
./gradlew :carp.dsp.core:jvmTest
./gradlew :carp.dsp.demo:jvmTest# Run Detekt analysis
./gradlew detektPasses
# Generate coverage reports
./gradlew koverHtmlReport
./gradlew koverXmlReport# Build JAR files
./gradlew :carp.dsp.core:jvmJar
./gradlew :carp.dsp.demo:jvmJarThe project includes comprehensive GitHub Actions workflows:
- Multiplatform builds and testing
- Detekt code quality analysis
- Kover coverage reporting
- Codecov integration
- Artifact generation
- JAR artifact building
- Quality gates and verification
- Coverage report uploads
Coverage reports are automatically generated and uploaded:
- HTML Report: Available as CI artifacts
- XML Report: Integrated with Codecov
- Badge: Shows current coverage status
carp-dsp/
├── carp.dsp.core/ # Core framework
│ ├── domain/ # Domain models and logic
│ │ ├── data/ # Tabular data structures
│ │ └── execution/ # Workflow execution
│ └── application/ # Data Converters
├── carp.dsp.demo/ # Demo and examples
└── .github/workflows/ # CI/CD automation
- ✅ Core Framework: Complete with comprehensive testing
- ✅ CI/CD Pipeline: Fully automated with quality gates
- ✅ Demo Implementation: Working CLI examples with DEXCOM CGM analysis
- ✅ Python Integration: Conda environment management and script execution
- ✅ Documentation: Comprehensive documentation available
- 🚧 Dokka Integration: API docs generation in progress
- 🚧 Additional Platforms: JS/Native support planned
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
All PRs are automatically tested with the CI pipeline and require:
- ✅ All tests passing
- ✅ Detekt quality checks
- ✅ Coverage requirements met
This project is licensed under the MIT License - see the LICENSE file for details.