Welcome to Mangaki! This README is also available in French.
Read about our keynote at Anime Expo, Los Angeles in July 2018.
- See our blog post
- Our map Mangaki on Earth
- Browse other interesting notebooks.
You need to have PostgreSQL ≥10 running on your machine. You also need an user that will have access to the database. The easiest way to achieve that is simply to create an account which has the same name as your username, can create databases, and is a superuser:
sudo -u postgres createuser --superuser --createdb $USER
Then create the database, and add the required extensions:
createdb mangaki
psql -d mangaki -c \
"create extension if not exists pg_trgm; \
create extension if not exists unaccent"
You will need Python ≥ 3.8 and Poetry.
First, copy the configuration template.
cp mangaki/settings{.template,}.ini
You can then install the Django environment:
poetry install # Add --no-dev if in production, should take a while
poetry shell
./mangaki/manage.py migrate
./mangaki/manage.py runserver # If in dev; otherwise install gunicorn
And voilà! You can access Mangaki at http://localhost:8000.
Background tasks represent:
- importing anime from another database;
- looking for duplicates in the database;
- (in a near future) improve Mangaki models.
These are optional, but if you want to try them:
# The PYTHONPATH hack is necessary. If you don't like it, read the Nix section.
PYTHONPATH=$PYTHONPATH:`pwd`/mangaki celery -A mangaki.workers:app worker -B -l INFO
If you can read something like this:
[2018-08-23 13:37:42,000: INFO/MainProcess] celery@your_hostname ready.
The worker is ready to receive background tasks (e.g. MAL imports).
Please check this file for more information.
You can also install Mangaki in a VM using our amazing Ansible playbooks.
It's simple but takes 2 GB.
The database starts empty, but you can populate a few works:
./mangaki/manage.py loaddata fixtures/{partners,seed_data}.json # If small seed data
./mangaki/manage.py add_new_works <path_to_manami_data> # If big seed data (clone manami-project/anime-offline-database somewhere)
./mangaki/manage.py ranking # Compute the anime/manga ranking pages. Should be done regularly.
./mangaki/manage.py index # Compute the search indexes. Should be done once in a while.
./mangaki/manage.py top --all # Compute the Top 20 directors, etc. Should be done regularly.
py.test mangaki/ # Run all tests
See also our interesting Jupyter notebooks, in another repository.
- Read CONTRIBUTING.md
- Browse the issues and the wiki
- First time? Track the
good first issue
label!
- Feel free to contact us at jj@mangaki.fr
- Found a bug? Create an issue.
- Stay in touch with our blog: http://research.mangaki.fr
Mangaki is an open-sourced project licensed under AGPLv3. For accurate information regarding license and copyrights, please check individual files.