Setting up a project¶
To get some simple instructions on how to use LetThereBe
, execute the command without any arguments:
lettherebe
Before setting up your project, you will need a GitHub account. If you do not currently have one, you will need to register.
To begin setting up a project using LetThereBe
, navigate to the project directory and enter the command
lettherebe quickstart [--options]
where options
are optional options for your project (see below).
This will then take you through the set up of your project with a set of prompts. The first prompt will ask you for the details of your GitHub account - if you have not got one, you will be directed to register for one. Next, you will be asked for the name of the project, then LetThereBe
will then provide a series of prompts about the specifics of your project. If all the default options are chosen, your project will end up with:
- a GitHub repository
- an MIT License
- simple example tests to be executed using
py.test
- continuous integration of these tests using Travis CI
- code coverage provided by Codecov
- documentation with Sphinx which will be automatically built on ReadTheDocs
Advanced Setup¶
If you choose not to use the default options, you will then be prompted to provide answers to a series of questions which will allow you to customise these settings. Alternatively, you will have the ability to provide a configuration file describing the settings you would like to use, making it easy to reuse settings from other projects. Insert information about config file here.
The initial project setup command can also be modified using the following options as an alternative to passing these when prompted by the wizard.
--project=name | name of project |
--service=service | |
version control service to use | |
--language=language | |
sets the project language (e.g. python , julia , R ...) | |
--license=license | |
sets the project license (e.g. MIT, BSD,.... | |
--CI=provider | sets which continuous integration provider to use, e.g. Travis CI, CircleCI,... |
--docs=package | sets which package to use to build the documentation, e.g. Sphinx, Doxygen... |
LetThereBe
can also be used to set up each of the above components separately. To do this, first navigate to the project directory, then execute one of the following commands
lettherebe docs [-options]
If no options are passed, this will set up sphinx documentation which is then automatically built on ReadTheDocs. Alternatively, the following options can be passed:
-sphinx | documentation is set up using Sphinx |
-doxygen | documentation is set up using Doxygen |
-readthedocs | documentation hosted and built online in ReadTheDocs |
-offline | documentation built locally only (not connected to ReadTheDocs) |
lettherebe tests [-options]
If there are no options passed and the project language has been set to python
, this will set up some simple tests that can be run using py.test
and will connected to a travis.ci
project so that they are executed when changes to the code are pushed to the GitHub repository. The following options are possible:
-travis | sets up continuous integration using travis.ci |
-circle | sets up continuous integration using Circle CI |