NexusLIMS-CDCS is a customized deployment of the NIST Materials Data Curation System (MDCS) designed for managing and sharing microscopy and materials characterization data. It provides a web-based platform for capturing, organizing, searching, and visualizing experimental data using structured XML schemas.
⚠️ Notice: This is a fork of the original NexusLIMS project, created after the lead developer (@jat255) left NIST and founded Datasophos. This fork is maintained by Datasophos and is not affiliated with NIST in any way. For the official NIST version, please visit the original repository.
This system enables:
- Structured data capture using customizable XML schemas and web forms
- Powerful search capabilities across all stored datasets
- Data visualization with XSLT-based rendering of XML records
- RESTful API access for programmatic interaction
- Secure data management with user authentication and access control
- Instrument data integration for linking to raw experimental files
Visit the 📷 screenshot gallery for a preview of the application's features and appearance. The system is built on the NIST Configurable Data Curation System (CDCS) framework and uses PostgreSQL for data storage, Redis for caching, and Caddy for serving files and the application through a reverse proxy.
Versions of this repository track the upstream MDCS project and use the same version numbers as the upstream source, with a -nx0, -nx1, -nx2, etc. suffix to differentiate tags and versions from the upstream project. For example, if tracking MDCS version 3.18.0, this repository's corresponding release would be tagged as 3.18.0-nx0, and any subsequent NexusLIMS-specific patches to that version would be 3.18.0-nx1, 3.18.0-nx2, and so on. Please see the Releases for information about NexusLIMS CDCS releases.
This web application pairs with the NexusLIMS backend, which handles automated metadata extraction and record generation from microscopy session logs. The NexusLIMS backend creates XML records that are submitted to this CDCS instance for storage, search, and visualization.
If you're looking to use an existing NexusLIMS-CDCS deployment:
- Access the web interface at your organization's deployment URL
- Log in with your credentials (optional)
- Use the search and explore features to find datasets
To deploy and manage a NexusLIMS-CDCS instance:
- 📖 Documentation - Documentation development and production
- 🚀 Production Deployment - Detailed production setup instructions
- 🔧 Admin Commands - Management scripts for backups, updates, and maintenance
- XML Schema-based data templates for structured metadata
- XSLT transformations for rich HTML presentation of data records
- Integration with instrument data file storage
- User workspace management for organizing datasets
- Advanced search and filtering capabilities
- RESTful API for automation and integration
- Backend: Django (Python)
- Database: PostgreSQL
- Cache: Redis
- Web Server: Caddy (with automatic HTTPS)
- Container Platform: Docker and Docker Compose
- Package Management: UV (with pyproject.toml and lockfile)
This project uses UV for fast, reliable dependency management:
- Dependencies: Defined in
pyproject.tomlwith organized groups (core, server) - Reproducibility:
uv.locklockfile ensures identical builds across environments - Docker-first: Development happens in containers (no local Python setup required)
For detailed build and deployment instructions, see deployment/README.md.
See LICENSE for details.
💼 Need help with NexusLIMS? Datasophos offers:
- 🚀 Deployment & Integration - Expert configuration for your lab environment
- 🔧 Custom Development - Custom extractors, harvesters, and workflow extensions
- 🎓 Training & Support - Team onboarding and ongoing technical support
Contact: josh@datasophos.co | datasophos.co
