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