dcnios
DCNiOS is a Data Connector through Apache NiFi for OSCAR, that facilitates the creation of event-driven processes connecting a Storage System.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.3%) to scientific vocabulary
Keywords
Repository
DCNiOS is a Data Connector through Apache NiFi for OSCAR, that facilitates the creation of event-driven processes connecting a Storage System.
Basic Info
- Host: GitHub
- Owner: interTwin-eu
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://intertwin-eu.github.io/dcnios/
- Size: 43.4 MB
Statistics
- Stars: 3
- Watchers: 6
- Forks: 2
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
DCNiOS
DCNiOS, Data Connector through Apache NiFi for OSCAR, is an open-source command-line tool that facilitates the creation of event-driven processes connecting a Storage System to a scalable OSCAR cluster by employing predefined dataflows that are processed by Apache NiFi like: - dCache - Amazon S3 - Kafka as input of an event streaming platform. - Rucio
Apache NiFi is a reliable system to process and distribute data through powerful and scalable directed graphs of data routing, transformation, and system mediation logic.
OSCAR is an open-source platform for serverless event-driven data processing of containerized applications across the computing continuum.
The DCNiOS command-line interface allows you to create a NiFi dataflow though a YAML file (see figure).
After creating a dataflow using DCNiOS, when an event is captured (e.g., Server-sent event by dCache), Apache NiFi stores it in an internal queue and then sends it for processing to an OSCAR cluster at a customized rate. In the OSCAR cluster, a user-defined service creates a job to process the stored data.

Therefore, DCNiOS has been made to interact with NiFi and deploy a complete dataflow. It uses HTTP calls to communicate with a Nifi cluster.
Apache NiFi can be automatically deployed using the Infrastructure Manager (IM) on a dynamically provisioned Kubernetes Cluster. Note that a NiFi registry is not required.
Achievements
This software has received a silver badge according to the Software Quality Baseline criteria defined by the EOSC-Synergy project.
Getting Started
Prerequisites
- OSCAR cluster with services deployed.
- NiFi Cluster deployed.
- A Python distribution such as Anaconda.
Installation
Download the repository in a local folder.
bash git clone git@github.com:interTwin-eu/dcnios.git cd dcniosSet up a virtual environment (optional but recommended):
You can choose between Conda or Venv for managing Python dependencies.
Using Conda
Create a new Conda environment and activate it:
bash conda create --name dcnios python=3.7.6 conda activate dcniosUsing Venv
Create a virtual environment with Venv and activate it:
bash python -m venv dcniosenv source dcniosenv/bin/activateInstall Dependencies
Install all the required dependencies listed in requirements.txt:
bash pip install -r requirements.txtAlternatively, you can install the minimum required dependencies for DCNiOS:
bash pip install pyyaml==6.0 requests==2.28.2 oscar_python==1.0.3Verify Installation
Once you've installed the dependencies. You can verify this by running a simple Python script. Try the following Python command to check if the packages are installed correctly:
bash python -c "import yaml, requests, oscar_python; print('All dependencies are correctly installed.')"
Authors
- Germán Moltó mailto:gmolto@dsic.upv.es
- Estíbaliz Parcero mailto:esparig@i3m.upv.es
- Sergio Langarita mailto:slangarita@i3m.upv.es
Instituto de Instrumentación para Imagen Molecular (I3M), Centro Mixto CSIC — Universitat Politècnica de València, Camino de Vera s/n, 46022 Valencia, España.
Versions and Maintenance
There is only one version in maintenance: - The main branch in the source code repository maintains a working state version of the software component. - Documentation is updated with the new software versions involving any substantial or minimal change in the application's behavior. Any issue can be reported in the Issues section of the GitHub project. - Documentation is updated whenever reported as inaccurate or unclear.
Licensing
DCNiOS is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Acknowledgements

This work was supported by the project “An interdisciplinary Digital Twin Engine for science’’ (interTwin), which has received funding from the European Union’s Horizon Europe Programme under Grant 101058386.
More information
You can find more information in the OSCAR's blog.
Owner
- Name: interTwin Community
- Login: interTwin-eu
- Kind: organization
- Email: info@intertwin.eu
- Website: https://www.intertwin.eu/
- Twitter: interTwin_EU
- Repositories: 1
- Profile: https://github.com/interTwin-eu
Co-designing and prototyping an interdisciplinary Digital Twin Engine.
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/Apache-2.0",
"codeRepository": "https://github.com/interTwin-eu/dcnios",
"contIntegration": "https://github.com/interTwin-eu/dcnios/actions",
"dateCreated": "2023-05-02",
"datePublished": "2023-05-02",
"dateModified": "2024-02-01",
"downloadUrl": "https://github.com/interTwin-eu/dcnios",
"issueTracker": "https://github.com/interTwin-eu/dcnios/issues",
"name": "dCNiOS",
"version": "1.0.0",
"identifier": "",
"description": "dCNiOS can manage the creation of event-driven data processing flows. The events are ingested in Apache NiFi, which can queue them up depending on the (modifiable at runtime) ingestion rate, to be then delegated for processing into a scalable OSCAR cluster, where a user-defined application based on a Docker image can process the data file.",
"applicationCategory": "Computing",
"releaseNotes": "",
"funding": "",
"developmentStatus": "active",
"referencePublication": "",
"keywords": [
"Workflow"
],
"programmingLanguage": [
"Python"
],
"runtimePlatform": [
"Kubernetes"
],
"operatingSystem": [
"Linux",
"macOS"
],
"author": [
{
"@type": "Person",
"@id": "https://www.grycap.upv.es/gmolto",
"givenName": "Germn",
"familyName": "Molt",
"email": "gmolto@dsic.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Sergio",
"familyName": "Langarita",
"email": "slangarita@i3m.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Estbaliz",
"familyName": "Parcero",
"email": "esparig@i3m.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
}
]
}
GitHub Events
Total
- Watch event: 4
- Issue comment event: 2
- Push event: 37
- Pull request review comment event: 43
- Pull request review event: 27
- Pull request event: 22
- Create event: 1
Last Year
- Watch event: 4
- Issue comment event: 2
- Push event: 37
- Pull request review comment event: 43
- Pull request review event: 27
- Pull request event: 22
- Create event: 1
