Commit 21f84abc authored by Matthieu Boileau's avatar Matthieu Boileau

Update requirements.txt files

Using: poetry export -f requirements.txt --without-hashes > requirements.txt
parent dc8e1d1e
......@@ -10,4 +10,6 @@ build/
notebooks/
tests/notebooks
.doit.db.db
.pytest_cache/
\ No newline at end of file
.pytest_cache/
*.egg-info/
dist/
\ No newline at end of file
image: boileaum/jupyter
stages:
- test
- deploy
test:
stage: test
tags:
- docker
image: boileaum/jupyter
variables:
PYTHONPATH: '.'
script:
- pip install -r requirements.txt
- pip install -r dev_requirements.txt
- pytest -v
- curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
- source $HOME/.poetry/env
- poetry install
- poetry run pytest tests -v
deploy:
stage: deploy
tags:
- docker
script:
- poetry build
- poetry publish -u boileau -p $PYPI_PASSWORD
only:
- master
\ No newline at end of file
# nbcourse: publish your course based on Jupyter notebooks
## Features
`nbcourse` helps you building a static website to publish your course content in the form of jupyter notebooks (one notebook for one chapter).
Main features:
- all the configuration is described by a single `nbcourse.yml` file
- it is based on [doit](https://pydoit.org) in order to build efficently the html files
- chapters can be displayed in *preview mode* only so attendees can see the whole course program without being able to access content of the lessons to come
- notebooks can be:
- rendered as static html files,
- rendered as static reveal slideshows,
- packaged with all their material in a downloadable archive,
- compiled in a single pdf book using [bookbook](https://github.com/takluyver/bookbook)
- the theme can be easily customized (html files are templated using jinja)
See [this python course](https://mm2act.pages.math.unistra.fr/cours-python/) (in French) as an example.
## Installation
```bash
pip install nbcourse
```
## Usage
### Initiate an empty nbcourse project
```bash
nbcourse --init
```
### Configure your website
- Put your notebooks file in the `notebook/` directory
- Edit the `nbcourse.yml` file created by the `nbcourse --init` command.
### Build your website
```bash
nbcourse
```
Resulting files are in the `build/` directory.
### Get help
```bash
nbcourse --help
```
### Publish
Publishing with [GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/) is easy using a `.gitlab-ci.yml` file as the following:
```yaml
pages:
image: boileaum/jupyter
script:
- pip install nbcourse
- nbcourse -n 5
- mv build public
artifacts:
paths:
- public
```
pytest
\ No newline at end of file
appnope==0.1.0; sys_platform == "darwin" or platform_system == "Darwin"
atomicwrites==1.4.0; sys_platform == "win32"
attrs==19.3.0
backcall==0.2.0
beautifulsoup4==4.9.1
bleach==3.1.5
bookbook==0.2
bs4==0.0.1
cloudpickle==1.4.1
colorama==0.4.3; sys_platform == "win32"
data==0.4
decorator==4.4.2
defusedxml==0.6.0
doit==0.32.0
entrypoints==0.3
funcsigs==1.0.2
future==0.18.2
importlib-metadata==1.6.1; python_version < "3.8"
ipykernel==5.3.0
ipython==7.15.0
ipython-genutils==0.2.0
jedi==0.17.0
jinja2==2.11.2
jsonschema==3.2.0
jupyter-client==6.1.3
jupyter-contrib-core==0.3.3
jupyter-contrib-nbextensions==0.5.1
jupyter-core==4.6.3
jupyter-highlight-selected-word==0.2.0
jupyter-latex-envs==1.4.6
jupyter-nbextensions-configurator==0.4.1
latex==0.7.0
lxml==4.5.1
macfsevents==0.8.1; sys_platform == "darwin"
markdown==3.2.2
markupsafe==1.1.1
mistune==0.8.4
more-itertools==8.4.0
nbconvert==5.6.1
nbformat==5.0.7
notebook==6.0.3
packaging==20.4
pandocfilters==1.4.2
parso==0.7.0
pexpect==4.8.0; sys_platform != "win32"
pickleshare==0.7.5
pluggy==0.13.1
prometheus-client==0.8.0
prompt-toolkit==3.0.5
ptyprocess==0.6.0; sys_platform != "win32" or os_name != "nt"
py==1.8.2
pygments==2.6.1
pyinotify==0.9.6; sys_platform == "linux"
pyparsing==2.4.7
pyrsistent==0.16.0
pytest==5.4.3
python-dateutil==2.8.1
python-frontmatter==0.5.0
pywin32==228; sys_platform == "win32"
pywinpty==0.5.7; os_name == "nt"
pyyaml==5.3.1
pyzmq==19.0.1
rise==5.6.1
send2trash==1.5.0
shutilwhich==1.1.0
six==1.15.0
soupsieve==1.9.6
tempdir==0.7.1
terminado==0.8.3
testpath==0.4.4
tornado==6.0.4
traitlets==4.3.3
wcwidth==0.2.4
webencodings==0.5.1
zipp==3.1.0; python_version < "3.8"
This diff is collapsed.
[tool.poetry]
name = "nbcourse"
version = "0.1.3"
description = "Create a minisite to publish a course based on Jupyter notebooks"
authors = ["Matthieu Boileau <matthieu.boileau@math.unistra.fr>"]
license = "MIT"
keywords = ["jupyter", "nbconvert"]
repository = "https://gitlab.math.unistra.fr/boileau/nbcourse"
include = ["reveal.js/**/*", "skeleton/**/*"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.7"
bookbook = "^0.2"
bs4 = "^0.0.1"
IPython = "^7.15.0"
jinja2 = "^2.11.2"
jupyter_contrib_nbextensions = "^0.5.1"
latex = "^0.7.0"
markdown = "^3.2.2"
rise = "^5.6.1"
pyyaml = "^5.3.1"
doit = ">=0.32.0"
python-frontmatter = "^0.5.0"
[tool.poetry.dev-dependencies]
pytest = "^5.4.3"
pycodestyle = "^2.6.0"
[tool.poetry.scripts]
nbcourse = 'nbcourse:main'
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
bookbook
bs4
IPython
jinja2
jupyter_contrib_nbextensions
latex
markdown
rise
pyyaml
doit>=0.32.0
python-frontmatter
\ No newline at end of file
appnope==0.1.0; sys_platform == "darwin" or platform_system == "Darwin"
attrs==19.3.0
backcall==0.2.0
beautifulsoup4==4.9.1
bleach==3.1.5
bookbook==0.2
bs4==0.0.1
cloudpickle==1.4.1
colorama==0.4.3; sys_platform == "win32"
data==0.4
decorator==4.4.2
defusedxml==0.6.0
doit==0.32.0
entrypoints==0.3
funcsigs==1.0.2
future==0.18.2
importlib-metadata==1.6.1; python_version < "3.8"
ipykernel==5.3.0
ipython==7.15.0
ipython-genutils==0.2.0
jedi==0.17.0
jinja2==2.11.2
jsonschema==3.2.0
jupyter-client==6.1.3
jupyter-contrib-core==0.3.3
jupyter-contrib-nbextensions==0.5.1
jupyter-core==4.6.3
jupyter-highlight-selected-word==0.2.0
jupyter-latex-envs==1.4.6
jupyter-nbextensions-configurator==0.4.1
latex==0.7.0
lxml==4.5.1
macfsevents==0.8.1; sys_platform == "darwin"
markdown==3.2.2
markupsafe==1.1.1
mistune==0.8.4
nbconvert==5.6.1
nbformat==5.0.7
notebook==6.0.3
packaging==20.4
pandocfilters==1.4.2
parso==0.7.0
pexpect==4.8.0; sys_platform != "win32"
pickleshare==0.7.5
prometheus-client==0.8.0
prompt-toolkit==3.0.5
ptyprocess==0.6.0; sys_platform != "win32" or os_name != "nt"
pygments==2.6.1
pyinotify==0.9.6; sys_platform == "linux"
pyparsing==2.4.7
pyrsistent==0.16.0
python-dateutil==2.8.1
python-frontmatter==0.5.0
pywin32==228; sys_platform == "win32"
pywinpty==0.5.7; os_name == "nt"
pyyaml==5.3.1
pyzmq==19.0.1
rise==5.6.1
send2trash==1.5.0
shutilwhich==1.1.0
six==1.15.0
soupsieve==1.9.6
tempdir==0.7.1
terminado==0.8.3
testpath==0.4.4
tornado==6.0.4
traitlets==4.3.3
wcwidth==0.2.4
webencodings==0.5.1
zipp==3.1.0; python_version < "3.8"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment