Open Source framework for large-scale digital repositories.

Safe

Invenio has been created with security and long-term preservation in mind. Build your digital repository and focus only on what is important to you, Invenio will do the rest.

Scalable

Invenio is fast. We have designed it to manage 100+ million records and petabytes of files. All your research data can now be archived independently of the size.

RESTful

Only a modern framework can create modern digital repositories. Invenio was born for the web, is JSON-native and provides RESTful APIs out of the box that will allow to build apps on top of it.

Open

Invenio is 100% open source licensed under MIT license. Fork us on GitHub and build your product. Invenio loves open standards for open science.

Born with at

Built on Invenio v3
Zenodo

Interdisciplinary open research data repository service built and operated by CERN and OpenAIRE.

CDS Videos

CERN institutional repository for videos including trans-coding backend.

CERN Open Data

Open Data platform publishing PBs of CERN physics data from LHC and other experiments.

Upcoming
WEKO 3

Invenio-based multi-tenancy repository platform that aims to support 500 Japanese universities. It's being developed by National Institute of Informatics, Japan.

INSPIRE

INSPIRE is the aggregator for all of High-Energy Physics.

RERO ILS

The RERO ILS project aims at creating the future RERO Integrated Library System.

Get started
1

Bootstrap

# scaffold my-site instance
$mkvirtualenv my-site
$cookiecutter \
gh:inveniosoftware/cookiecutter-invenio-instance -c v3.0
$cd my-site
# start services (db, es, mq, etc)
$docker-compose up -d
# bootstap my-site instance
$./scripts/bootstrap
2

Customise

# select instance
$workon my-site
# scaffold data model
$cookiecutter \
gh:inveniosoftware/cookiecutter-invenio-datamodel -c v3.0
# install and register data model
$cd my-datamodel
$pip install -e .
3

Run

# select instance
$workon my-site
$cd my-site
# setup database and indexes
$./scripts/bootstrap
$./scripts/setup
# start worker
$celery worker -A invenio_app.celery -l INFO
# start server
$./scripts/server
# your site is running!
$firefox https://localhost:5000/
Features
Flexible data model

Use JSON Schema to describe your articles, books, theses, photos, videos, research data and software. Write serialisers to produce BibTeX, CSL, DataCite, Dublin Core, JSON-LD, or MARCXML.

Powerful search engine

Fast search times for repositories of several million records. Confurigurable query language and search facets. Citation networks.

Advanced file management

Manage millions of files attached to records. Organise files in buckets. Configure any storage system/protocol.

Preservation friendly

Mint persistent identifiers (DOI) for repository assets. Create links between versions. Run fixity checks. Export BagIt archival packages.

User communities

Organise your documents in community collections. Set up advanced user authentication (OAuth, SSO). Define fine-grained access rights. Collect usage statistics.

REST API

Use more than one hundred independent packages collaborating via rich REST APIs. Pick the packages you want and use the full power of Python to combine and extend them.

The Best of Open Source
Invenio's core is relying on some of the world's top open source products.
Elasticsearch

Elasticsearch is an extremely fast JSON-native distributed search engine supporting anything from full-text to geospatial queries.

PostgreSQL or MySQL

PostgreSQL and MySQL are a powerful relational databases with JSON-support as well as a strong reputation for reliability, robustness, and performance.

Python/Flask

Invenio is built using Python 3, the Flask micro webframework and a suite of the best community-built Python libraries.