Giter Club home page Giter Club logo

cryptobib's Introduction

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 protected]), or submit a pull request or report an issue for cryptobib/db.

Getting started

Requirements

  • MyRepos mr in your path (on MacOS X with HomeBrew: brew install mr)
  • python 3.6 with the following packages (which can be installed using pip - on MacOS X with HomeBrew, pip can be installed with brew install python - on Ubuntu sudo apt install python3-pip):
    • pybtex 0.16-0.24 WARNING: we use the internal structure of pybtex. CryptoBib has only been tested with pybtex 0.16-0.24. 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 pip3 install pybtex==0.24
    • unidecode On Ubuntu, to install globally: sudo -H pip3 install pybtex==0.24 unidecode
  • on MacOS X, XCode Command Line Tools is required: xcode-select --install. We also recommend to use HomeBrew.

Using virtualenv

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.24 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 deactivate.

Checkout the project

Just run in some folder:

mr bootstrap https://raw.githubusercontent.com/cryptobib/cryptobib/master/mrconfig/mrconfig_https

or

mr bootstrap https://raw.githubusercontent.com/cryptobib/cryptobib/master/mrconfig/mrconfig_ssh

depending whether you want to access github using https or ssl.

Set up make test

If you want to be able to run make test (highly recommended before any push), you first need to read db_test/README.md.

Import a new conference

  1. go to db_import
  2. run python3 import.py confYYYY with conf the conf key and YYYY the year
  3. correct the bibtex file confYYYY.bib
  4. go back in ..
  5. update db/abbrev.bibyml and run python3 db_tools/gen_abbrev.py
  6. update db/crypto_conf_list.bib
  7. add this bibtex file to db/crypto_db.bib by running python3 db_tools/add.py db_import/confYYYY.bib
  8. update db/changes.txt
  9. generate all the files: make
  10. check all was done correctly: make test

Publish

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. Then run

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 Makefile and the mrconfig files (to get all the repositories using mr)
  • 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_import tools into the main database, to generate the website database, ...
  • export: the bib files 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

cryptobib's People

Contributors

fabrice102 avatar michelabdalla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.