CryptoBib Main Repository for Developers
WARNING: This is probably not the repository your are interested in. This repository is only for cryptobib developers. The repositories containing the public bib files are cryptobib/export and cryptobib/export_crossref.
For any correction or issue with the database content, you can either contact Michel Abdalla and Fabrice Benhamouda (email@example.com), or submit a pull request or report an issue for cryptobib/db.
- MyRepos mr in your path (on MacOS X with HomeBrew:
brew install mr)
- python 2.7 with the following packages (which can be installed using
pip- on MacOS X with HomeBrew,
pipcan be installed with
brew install python):
- pybtex 0.16-0.20.1 WARNING: we use the internal structure of pybtex. CryptoBib has only been tested with pybtex 0.16-0.20.1. There might be bugs with other versions but they should be easy to spot (like an abnormal exception). If you do not want or cannot install an outdated version of pybtex globally, please read the section about virtual_env below
- on MacOS X, XCode Command Line Tools is required:
xcode-select --install. We also recommend to use HomeBrew.
If you want to separate the Python installation for CryptoBib from your global installation, you can use virtualenv.
Run (somewhere not necessarily in the cryptobib folder):
pip install virtualenv virtualenv venv . venv/bin/activate pip install pybtex==0.20.1 unidecode
Each time you need to run any CryptoBib script, you need to first activate the virtualenv
. venv/bin/activate. This will replace the global Python installation by the local one in
venv. You can go back to the global one using
Checkout the project
Just run in some folder:
mr bootstrap https://raw.githubusercontent.com/cryptobib/cryptobib/master/mrconfig/mrconfig_https
mr bootstrap https://raw.githubusercontent.com/cryptobib/cryptobib/master/mrconfig/mrconfig_ssh
depending whether you want to access github using https or ssl.
If you want to be able to run
make test (highly recommended before any push), you first need to read
Import a new conference
- go to
python2 import.py confYYYYwith conf the conf key and YYYY the year
- correct the bibtex file
- go back in
- add this bibtex file to
python2 db_tools/add.py db_import/confYYYY.bib
- generate all the files:
- check all was done correctly:
First, do not forget to run
make (and, even better,
make test) before any commit.
Do not forget either to update
db/changes.txt if changes are related to the database content.
mr record -m "message... generally the same as in changes.txt" mr push
Organization of the project
The project is composed of multiple repositories:
cryptobib: this repository containing this documentation, the main
mrconfigfiles (to get all the repositories using
db: the database containing all the bibtex entries and the list of all conferences
db_import: tools to import bibtex entries from DBLP, ePrint, ...
db_test: tools to check the database is valid and can successfully be used by bibtex
db_tools: tools to merge bibtex entrie imported by
db_importtools into the main database, to generate the website database, ...
bibfiles to be used in latex documents, generated from
db. This repository can be added as a submodule of a latex project for example.
export_crossref: same as above, but using crossref (lighter files)
lib: some internal libraries used by the various tools and the website
webapp: the web2py application corresponding to the website