A highly versatile and feature-rich ORM library for Rust, designed to simplify database interactions across a wide range of systems with robust performance and flexibility.
- Feature Support by Database
- Migrations CLI
- Machine Learning Tools
- Getting Help
- Reporting Issues
- Contributing
- Code of Conduct
- Contributors
- License
Database | JOIN | SELECT | INSERT | UPDATE | DELETE | Raw SQL | Transactions |
---|---|---|---|---|---|---|---|
SQLite | ✅ | ✅ | ✅ | ✅ | ✅ | 🏗️ | 🏗 |
PostgreSQL | 🏗️ | 🏗️ | 🏗️ | 🏗️ | 🏗️ | 🏗️ | 🏗️ |
MySQL | ✅ | ✅ | ✅ | ✅ | ✅ | 🏗️ | 🏗 |
MariaDB | 🏗️ | 🏗️ | 🏗️ | 🏗️ | 🏗️ | 🏗️ | 🏗️ |
Oracle | ✅ | ✅ | ✅ | ✅ | ✅ | 🏗️ | 🏗 |
MSSQL | ✅ | ✅ | ✅ | ✅ | ✅ | 🏗️ | 🏗 |
Work on CLI migrations is currently in paused under the njord_cli
directory. No database is supported yet. Below is the planned feature tracking table once we start again.
Database | Create Migration | Apply Migration | Rollback Migration | Migration History | Seed Data | Schema Diffing |
---|---|---|---|---|---|---|
SQLite | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
PostgreSQL | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
MySQL | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
MariaDB | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Oracle | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
MSSQL | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
The njord_ml
is a specialized library for machine learning workflows.
It provides features to facilitate efficient data handling for ML pipelines, including data extraction, transformation, and injection.
This toolset will be designed to integrate seamlessly with popular ML frameworks while maintaining robust database support.
- Data Preparation
- In-database preprocessing
- Query optimization for ML models
- Data source loading and merging
- Data extraction and transformation
- Handling Large Datasets
- Streaming large datasets
- Batch processing for large datasets
- Data Management
- Data injection for ML models
- Data validation and verification
- Data versioning and tracking
- Data lineage and provenance
- Data Quality Assurance
- Data quality and consistency checks
Are you having trouble with Njord? We want to help!
-
Read through the documentation on our docs.
-
If you are upgrading, read the release notes for upgrade instructions and "new and noteworthy" features.
-
Ask a question we monitor stackoverflow.com for questions tagged with Njord.
-
Report bugs with Njord at https://github.com/njord-rs/njord/issues.
Njord uses GitHub’s integrated issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below:
-
Before you log a bug, please search the issue tracker to see if someone has already reported the problem.
-
If the issue doesn’t already exist, create a new issue.
-
Please provide as much information as possible with the issue report. We like to know the Njord version, operating system, and Rust version version you’re using.
-
If you need to paste code or include a stack trace, use Markdown. ``` escapes before and after your text.
-
If possible, try to create a test case or project that replicates the problem and attach it to the issue.
Before contributing, please read the contribution guide for useful information how to get started with Njord as well as what should be included when submitting a contribution to the project.
Anyone who interacts with Njord in any space, including but not limited to this GitHub repository, must follow our code of conduct.
The following contributors have either helped to start this project, have contributed code, are actively maintaining it (including documentation), or in other ways being awesome contributors to this project. We'd like to take a moment to recognize them.
The BSD 3-Clause License.