Mangaki Save

Site de recommandation de mangas et d'anime

Project README

Mangaki

CircleCI Codecov

Welcome to Mangaki! This README is also available in French.

What to do from here?

AI for Manga & Anime

AI for Manga & Anime

Read about our keynote at Anime Expo, Los Angeles in July 2018.

Mangaki on Earth (MoE): visualizing anime embeddings

Visualize anime embeddings

Install Mangaki

Database setup

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"

Running the web server

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.

Running background tasks (Celery)

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).

Nix-based install

Please check this file for more information.

VM install

You can also install Mangaki in a VM using our amazing Ansible playbooks.

It's simple but takes 2 GB.

Populate the database with a few fixtures

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.

Contribute

Contact

License information

Mangaki is an open-sourced project licensed under AGPLv3. For accurate information regarding license and copyrights, please check individual files.

Open Source Agenda is not affiliated with "Mangaki" Project. README Source: mangaki/mangaki
Stars
135
Open Issues
113
Last Commit
1 year ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating