Skip to content

mangaki/mangaki

master
Switch branches/tags
Code

Latest commit

* Add Manami and Union-Find references

* Add test

* Add fixtures

* Fix tests maybe

* Minor changes

* Fix fixes

* Add comments and types

* Fix 3.7 compatibility

* Factor code better

* Add many types

* Fix types

* Final types

* Wesh j'espère que c'est la bonne là

* Follow POSIX standard
8548b03

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
nix
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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, which can create databases, and which is a superuser (for CREATE EXTENSION):

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. The default parameters are already supposed to work, so you shouldn't need to change anything:

cp mangaki/settings{.template,}.ini

You can then install the Django environment:

poetry install  # Add --no-dev if in production
poetry shell
./mangaki/manage.py migrate
./mangaki/manage.py runserver  # If in dev; otherwise install gunicorn or anything by your own means

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