Code Monkey home page Code Monkey logo

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.

Mangaki's Projects

balse icon balse

Using Posters to Recommend Anime and Mangas in a Cold-Start Scenario

blog icon blog

blog.mangaki.fr repository

illustration2vec icon illustration2vec

A simple deep learning library for estimating a set of tags and extracting semantic feature vectors from given illustrations.

learn icon learn

learn.mangaki.fr repository

machines icon machines

NixOS machines description for Mangaki organization

mangaki icon mangaki

Site de recommandation de mangas et d'anime

map icon map

Mangaki map of anime

ml4anime icon ml4anime

Poster for ML!アニメ conference in Kyoto University, Aug 31, 2017

movielens icon movielens

Système de recommandation minimal sur Movielens (pour Girls Can Code! 2016)

sparse icon sparse

Handling different formats of sparse features for matrix factorization

vae icon vae

Variational autoencoders for collaborative filtering

zero icon zero

Mangaki's recommendation algorithms

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.