:warning: Liionsden is currently in development :warning:
Liionsden is a platform for storing data about lithium-ion batteries and their performance. It automatically parses data from the output files of battery cycler machines and stores this information in a database, associating it with specific experiments and devices. Metadata is stored about specific experiments, batches of devices and individual devices.
The development server is running here (internal to Imperial College).
It will be possible to browse the database, as well as add to it, via a web-app and programatically via an API.
Liionsden is developed at Imperial College London, funded by the Faraday Institution Multi-scale Modelling Project.
The database currently stores recorded cycler data along with metadata about:
A simplified version of the main battDB
app is shown below. This does not include models in the common
and dfndb
app, which deal with data relating to users, organisations, components, parameters, methods.
Public data in the database can be browsed using the web platform. Registered "contributor" users can add experimental data, register equipment and batches of devices via the web platform.
In future, this will also be posible via the API.
If you want to run a local version of Liionsden, we recommend using Docker. A docker-compose.yml
is provided to include all the required environment variables and containers.
To start the app, run docker compose up --build
.
Dummy data can be loaded by running manage.py loaddata dummy_data/dummy_data.json
from inside the web application container.
Full instructions to follow once the platform is in production.
Development documentation is ongoing and can be found in the relevant docs subdirectory.
Some general hints and potential gotchas:
docker-compose exec web python manage.py showmigrations
.password
in an initial migration. This comes from an environment variable set in docker-compose.yml.web
container won't start it may be because changes have been made such that the existing postgres database is incompatible with the Django code. The database is stored locally in data/db
and persists after Docker is shutfown, so completely remove that directory and try again.We are following the pip-tools pip-compile
convetion to generate requirements.txt
and requirements-dev.txt
from
pyproject.toml
for dependencies and development dependencies, respectively.
Generally development TODOs should be tracked in issues and/or project board.