semvec/pypi-packages huggingface dataset:
md_rbrb 1.1.1
multilanguage Rabi-Ribi display
License: MIT


multilanguage Rabi-Ribi display
===============================


* MIT-licensed, 2017/02/19, ed@irc.rizon.net
* https://ocv.me/stuff/md_rbrb.png -- screenshot
* https://ocv.me/stuff/md_rbrb.mp4 -- video
* https://pypi.org/project/md_rbrb/ -- download

usage
=====


* install ``mecab.exe`` with **UTF-8 dictionary charset**\ : http://taku910.github.io/mecab/#win
* open a terminal: ``WIN+R`` ``cmd``
* install md_rbrb: ``pip install md_rbrb``
* run md_rbrb: ``md_rbrb`` (or maybe ``python -m md_rbrb``\ )
* visit http://127.0.0.1:8086/

if you are running md_rbrb from the source code directory, disregard all the above (except for the mecab part) and just run ``start-md_rbrb.bat``

how it works
============


* it attaches to rabiribi.exe and uses hardcoded memory addresses to read out the currently visible dialogue line from the process memory
* on each new line it parses the game's dialogue file from disk and reads out the japanese and english variant of said line
* an httpd offers a document which displays the current dialogue line and autorefreshes to load new lines

maintainers
===========

if there's a new version of rabi-ribi and this script has died, open up the following file for reference along with cheatengine: ``C:\Program Files (x86)\Steam\steamapps\common\Rabi-Ribi\localize\event\story_en.rbrb``


* start a new game
* tap past the first two lines of dialogue (\ ``...`` and ``...?``\ )
* stop at the 3rd line (\ ``Yawn...``\ )
* CTRL-F the dialogue line in story_en.rbrb, you'll see its block ID right above the search result
* do a 4byte search for that ID (\ ``10000``\ ), you'll see a couple results
* skip 3 lines ahead until just after the cutscene, then stop at the 1st line (\ ``Wh-What is this place?``\ )
* do another search for the new ID (\ ``10001``\ ), now there's only two search results
* add the 1st result to the code list by doubleclicking it, then rightclick it in the codelist and ``Pointerscan for this address``\ , use default settings, hit OK and Yes (it'll only take like 44kB)
* the top result will have "\ **Offset 0**\ " = ``0`` and the other offsets are blank, you just found ``ADR_BLOCK_ID`` which is the hexadecimal value under "\ **Base Address**\ "
* without advancing the dialogue, start a new 4byte search for 0, then move one line ahead ingame and search for 1, then one more line and search for 2 etc until there's just one result with green text
* pointerscan that result and grab the first result with "\ **Offset 0**\ " = ``0``\ , that is ``ADR_BLOCK_POS``

note that if the dialogue box goes away for a camera pan or whatever then you have to start over since that makes it go back to 0, so do this with a dialogue scene that goes on for a bit uninterrupted

changelog
=========


* 2017/03/24: v1.1 for Rabi-Ribi v1.88
* 2017/02/19: v1.0 for Rabi-Ribi v1.75
flask-json-api 1.0.0
The Flask JSON API package provides boilerplate code for setting up REST based apps.
License: MIT
Keywords: flask

*****************************************************************************************
:fire:flask-json-api:fire:: Flask boilerplate setup code for REST application/json API's
*****************************************************************************************

The **Flask JSON API** package provides boilerplate code for setting up REST based apps
written with `Flask <https://github.com/pallets/flask>`_.



Installing flask-json-api
=========================

.. code-block:: bash

  pip install flask-json-api


Using Flask JSON API
====================

Using **Flak JSON API** is as easy as initiating it with the Flask app instance:

.. code-block:: python

    from flask import Flask

    from flask_json_api import FlaskJsonApi

    app = Flask(__name__)

    flask_json_api = FlaskJsonApi(app)

How it works
============

This package requires the ``application/json content-type`` header, or else an HTTP error will be returned:

.. code-block:: python

    import requests

    # providing the application/json content type will succeed
    url = 'http://localhost:5000/api'
    headers = {'Content-Type': 'application/json'}

    r = requests.get(url, headers=headers)

    assert r.status_code == 200

    # not providing the application/json content type will fail
    url = 'http://localhost:5000/api'

    r = requests.get(url)

    assert r.status_code == 415


Register expected and unexpected exception types:
=================================================
Although all errors should be returned as JSON, you can register different exception types as:
 * ``Expected Errors`` - will return **400** http error code (and logged with WARNING level)
 * ``Unexpected Errors`` - will return **500** http error code (and logged with ERROR level)

.. code-block:: python

    class ExpectedError(Exception):
    """Expected error, such as Data Validation Error"""

    class UnexpectedError(Exception):
        """Unexpected error, such as database is not accessible"""

    flask_json_api.register_expected_exception(ExpectedError)
    flask_json_api.register_unexpected_exception(UnexpectedError)

Whitelisting paths that do not require application/json
-------------------------------------------------------
Whenever the ``flask.request.path`` starts with any of these ``exclude_paths``, then the
application/json header won't be required.

.. code-block:: python

    flask_json_api.set_application_json_exclude_paths(exclude_paths=['/home'])

    # Please note that if the exclude_paths will contain '/',
    # then no path will require the application/json content-type
tapioca-discourse 0.1.2
discourse API wrapper using tapioca
License: MIT
Keywords: api,discourse,web

Tapioca discourse
=================

|PyPI| |PyPI - License| |PyPI - Python Version|

Installation
------------

::

    pip install tapioca-discourse

Documentation
-------------

.. code:: python

    from tapioca_discourse import Discourse


    api = Discourse(api_root='https://try.discourse.org', api_key='API_KEY', api_username='API_USERNAME')

No more documentation needed.

-  Learn how Tapioca works
   `here <http://tapioca-wrapper.readthedocs.org/en/stable/quickstart.html>`__
-  Explore this package using iPython
-  Have fun!

.. |PyPI| image:: https://img.shields.io/pypi/v/tapioca_discourse.svg
.. |PyPI - License| image:: https://img.shields.io/pypi/l/tapioca_discourse.svg
.. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/tapioca_discourse.svg
tapioca-cloudez 1.0.0a14
cloudez API wrapper using tapioca
License: MIT
Keywords: api,cloud,cloudez,web

Tapioca cloudez
===============

|PyPI| |PyPI - License| |PyPI - Python Version|

Installation
------------

::

    pip install tapioca-cloudez

Documentation
-------------

.. code:: python

    from tapioca_cloudez import Cloudez


    api = Cloudez(auth_token='{your-authentication-token}')

No more documentation needed.

-  Learn how Tapioca works
   `here <http://tapioca-wrapper.readthedocs.org/en/stable/quickstart.html>`__
-  Explore this package using iPython
-  Have fun!

.. |PyPI| image:: https://img.shields.io/pypi/v/tapioca_cloudez.svg
.. |PyPI - License| image:: https://img.shields.io/pypi/l/tapioca_cloudez.svg
.. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/tapioca_cloudez.svg
xournal-converters 0.0.9
Python scripts for converting Xournal documents to HTML and PDF.
License: MIT

xournal-converters
==================

Python scripts for converting
`Xournal <http://xournal.sourceforge.net/>`__ documents to HTML and PDF.
So far, only Xournal features that I personally use are implemented.

Installation
------------

This package is available on PyPI; run
``pip install xournal-converters`` to install.

Usage
-----

::

    xoj2pdf input.xoj > output.pdf
    xoj2html input.xoj > output.html