Technologies Employed¶
When developing ngshare
, we used many technologies that are used by other Jupyter projects, especially nbgrader
and JupyterHub. In this way, our project is most likely to be consistent with other Jupyter projects.
Backend¶
- JupyterHub - A multi-user version of Jupyter Notebook (indirectly used)
- kubernetes - Underlying container management system (indirectly used)
- minikube - A light-weight testing environment for kubernetes (indirectly used)
- Tornado web server - A Python web framework used in Jupyter community
Database¶
- SQLAlchemy - A Python SQL toolkit
- SQLite3 - a light weight database engine
- Alembic - SQLAlchemy migration tool
- ERAlchemy - Generate entity relation diagrams
Progamming Language¶
- Python - The major programming language used to
develop
nbgrader
- pytest - Unit test framework
- pytest-cov - Code coverage
- pytest-tornado - Test Tornado server
- black - a Python code formatter
Project Management¶
- GitHub - a git repository management website
- Travis CI - Continous integration
- Codecov - Code coverage
- Read the Docs - Documentation