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

What can you build with Invenio Framework?
Digital Repositories

Invenio Framework is currently being used by many generic and institutional repositories. For instance: Zenodo and CDS Videos have been built using Invenio Framework v3.

Enterprise Search Engine

You can use Invenio Framework to create your own Enterprise Search Engine. The CERN Search Team has chosen Invenio Framework in order to build a Generic Search Engine that they have published as FOSS.

Integrated Library System

Invenio provides specialised modules for circulation and acquisitions which are being used by e.g. RERO ILS.

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. Configurable 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 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 web framework and a suite of the best community-built Python libraries.

Get started
Use Invenio tools to bootstrap your Invenio Project and start building your product!
1

Scaffold

# prerequisites: cookiecutter and pipenv
# scaffold my-site instance
$cookiecutter \
gh:inveniosoftware/cookiecutter-invenio-instance -c v3.4
2

Install

$cd my-site
# start services (db, es, mq, cache)
$docker-compose up -d
# build and install my-site instance
$./scripts/bootstrap
3

Run

# setup database and indexes
$./scripts/setup
# start webserver and task queue
$./scripts/server
# your site is running!
$firefox https://127.0.0.1:5000/