Skip to content

Commit

Permalink
fixes #855
Browse files Browse the repository at this point in the history
  • Loading branch information
fishroot committed Sep 10, 2019
1 parent 9312360 commit 15329d2
Show file tree
Hide file tree
Showing 132 changed files with 1,031 additions and 1,028 deletions.
75 changes: 39 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,79 +1,82 @@
<div align="center">
<img src="https://www.frootlab.org/images/fig/nemoa.svg" width=350px>
<img src="https://www.frootlab.org/images/fig/rian.svg" width=350px>
</div>

Nemoa
Rian
=====

[![Building Status](https://travis-ci.org/frootlab/nemoa.svg?branch=master)](https://travis-ci.org/frootlab/nemoa)
[![Documentation Status](https://readthedocs.org/projects/nemoa/badge/?version=latest)](https://nemoa.readthedocs.io/en/latest/?badge=latest)
[![PIP Version](https://badge.fury.io/py/nemoa.svg)](https://badge.fury.io/py/nemoa)
[![Building Status](https://travis-ci.org/frootlab/rian.svg?branch=master)](https://travis-ci.org/frootlab/rian)
[![Documentation Status](https://readthedocs.org/projects/rian/badge/?version=latest)](https://rian.readthedocs.io/en/latest/?badge=latest)
[![PIP Version](https://badge.fury.io/py/rian.svg)](https://badge.fury.io/py/rian)

*Nemoa* is a machine learning- and data analysis framework, that implements the
**Cloud-Assisted Meta Programming** (CAMP) paradigm.
*Rian* is a machine learning- and data analysis framework, that implements *cloud-assisted meta programming* (CAMP).

The key goal of Nemoa is to provide a long-term data analysis framework, which
The key goal of Rian is to provide a long-term data analysis framework, which
seemingly integrates into existing enterprise data environments and thereby
supports collaborative data science. To achieve this goal Nemoa orchestrates
established Python frameworks like [TensorFlow®](https://www.tensorflow.org/)
and [SQLAlchemy](https://www.sqlalchemy.org/) and dynamically extends their
capabilities by community driven algorithms (e.g. for [probabilistic graphical
supports collaborative data science. To achieve this goal Rian orchestrates
established frameworks like [TensorFlow®](https://www.tensorflow.org/) and
dynamically extends their capabilities by community driven algorithms (e.g. for
[probabilistic graphical
modeling](https://en.wikipedia.org/wiki/Graphical_model), [machine
learning](https://en.wikipedia.org/wiki/Machine_learning) and [structured
data-analysis](https://en.wikipedia.org/wiki/Structured_data_analysis_(statistics))).

Thereby Nemoa allows client-side implementations to use abstract **currently
best fitting** (CBF) algorithms. During runtime the concrete implementation of
CBF algorithms are chosen server-sided by category and metric. An example for
such a metric would be the average prediction accuracy within a fixed set of
gold standard samples of the respective domain of application (e.g. latin
handwriting samples, spoken word samples, TCGA gene expression data, etc.).
Thereby Rian allows the client-side usage of abstract algorithms,
that are specified with respect to their category, the used data type and an
evaluation metric that determines their fitness. During runtime
these abstract specifications are resolved server-sided from a code catalog, by
a *currently best fitting* (CBF) algorithm.

Nemoa is open source, based on the [Python](https://www.python.org/) programming
For given category and application, the CBF algorithms are determined by their
used metric. Examples for such metrices would be the prediction accuracies
within a fixed set of gold standard samples of the respective domain of
application (e.g. latin handwriting, spoken words, TCGA gene expression data,
etc.).

Rian is open source, based on the [Python](https://www.python.org/) programming
language and actively developed as part of the [Liquid
Code](https://www.frootlab.org/liquid) framework at
[Frootlab](https://www.frootlab.org).

Current Development Status
--------------------------

Nemoa currently is in *Pre-Alpha* development stage, which immediately follows
Rian currently is in *Pre-Alpha* development stage, which immediately follows
the *Planning* stage. This means, that at least some essential requirements of
Nemoa are not yet implemented.
Rian are not yet implemented.

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

Comprehensive information and installation support is provided within the
[online manual](http://docs.frootlab.org/nemoa). If you already have a
[online manual](http://docs.frootlab.org/rian). If you already have a
Python environment configured on your computer, you can install the latest
distributed version by using pip:

$ pip install nemoa
$ pip install rian

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

The documentation of the latest distributed version is available as an [online
manual](http://docs.frootlab.org/nemoa) and for download, given in the
formats [PDF](https://readthedocs.org/projects/nemoa/downloads/pdf/latest/),
[EPUB](https://readthedocs.org/projects/nemoa/downloads/epub/latest/) and
[HTML](https://readthedocs.org/projects/nemoa/downloads/htmlzip/latest/).
manual](http://docs.frootlab.org/rian) and for download, given in the
formats [PDF](https://readthedocs.org/projects/rian/downloads/pdf/latest/),
[EPUB](https://readthedocs.org/projects/rian/downloads/epub/latest/) and
[HTML](https://readthedocs.org/projects/rian/downloads/htmlzip/latest/).

Contribute
----------
Contributions
-------------

Contributors are very welcome! Feel free to report bugs and feature requests to
the [issue tracker](https://github.com/frootlab/nemoa/issues) provided by
GitHub. Currently, as the Frootlab Developers team still is growing, we do not
provide any Contribution Guide Lines to collaboration partners. However, if you
are interested to join the team, we would be glad, to receive an informal
[application](mailto:application@frootlab.org).
Contributors are very welcome! Feel free to report bugs, ideas and feature
requests to the [issue tracker](https://github.com/frootlab/rian/issues),
provided by GitHub. Currently, as our team still is growing, we do not provide
any Contribution Guide Lines. So, if you are interested to help or to join the
team, we would be glad, to [hear about you](mailto:application@frootlab.org).

License
-------

Nemoa is open source and available free for any use under the
Rian is open source software and available free for any use under the
[GPLv3 license](https://www.gnu.org/licenses/gpl.html):

© 2019 Frootlab Developers:
Expand Down
2 changes: 1 addition & 1 deletion data/user/tutorial/datasets/multiplication.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# application = nemoa 0.4.218
# application = rian 0.5.583
# type = base.Dataset
# name = multiplication

Expand Down
12 changes: 6 additions & 6 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
# Copyright (C) 2019 Frootlab
# Copyright (C) 2013-2019 Patrick Michl
#
# This file is part of Nemoa, https://www.frootlab.org/nemoa
# This file is part of Frootlab Rian, https://www.frootlab.org/rian
#
# Nemoa is free software: you can redistribute it and/or modify it under the
# Rian is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# Nemoa is distributed in the hope that it will be useful, but WITHOUT ANY
# Rian is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with
# Nemoa. If not, see <http://www.gnu.org/licenses/>.
# Rian. If not, see <http://www.gnu.org/licenses/>.
#
"""Configuration file for the Sphinx documentation builder.
Expand All @@ -36,8 +36,8 @@
# -- Project information -----------------------------------------------------

# Module Variables
project = 'Nemoa'
package = 'nemoa'
project = 'Rian'
package = 'rian'

# Parse top level module for attributes
text = pathlib.Path(f'../{package}/__init__.py').read_text()
Expand Down
14 changes: 7 additions & 7 deletions docs/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -499,13 +499,13 @@ Basic Parameters and Formats
:objects: For the domain type :class:`object` fields are identified by
attribute names, and therefore required to be valid identifiers as
specified in :PEP:`3131`. Additionally the functions in the module
:mod:`nemoa.base.operator` accept the usage of dots, for the
:mod:`rian.base.operator` accept the usage of dots, for the
identification of arbitrary sub-objects within object hierarchies.
:mappings: For the domain type :class:`dict` (or any subclass of the
:class:`Mapping class <collection.abs.Mapping>`) fields are
identified by the keys of the mappings and therefore required to be
:term:`hashable`. Additionally the functions in the module
:mod:`nemoa.base.operator` require, that the field identifiers are
:mod:`rian.base.operator` require, that the field identifiers are
not given by tuples.
:sequences: For the domain type :class:`tuple` (or any subclass of the
:class:`Sequence class <collection.abs.Sequence>`) the fields are
Expand Down Expand Up @@ -568,16 +568,16 @@ Parameters and Formats used in Data Warehousing

*Row like* data comprises different data formats, which are used to
represent table records. This includes tuples, mappings and instances of
the :class:`Record class <nemoa.db.table.Record>`. The :class:`Table
class <nemoa.db.table.Table>` accepts these data types for appending
rows by :meth:`~nemoa.db.table.Table.insert` and for retrieving rows by
:meth:`~nemoa.db.table.Table.select`.
the :class:`Record class <rian.db.table.Record>`. The :class:`Table
class <rian.db.table.Table>` accepts these data types for appending
rows by :meth:`~rian.db.table.Table.insert` and for retrieving rows by
:meth:`~rian.db.table.Table.select`.

Cursor Mode

The *cursor mode* defines the *scrolling type* and the *operation mode*
of a cursor. Internally the respective parameters of the
:class:`Cursor class <nemoa.db.table.Cursor>` are identified by binary
:class:`Cursor class <rian.db.table.Cursor>` are identified by binary
flags. The public interface uses a string representation, given by
the space separated names of the scrolling type and the the operation
mode. Supported scrolling types are:
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Nemoa
Rian
=====

.. toctree::
Expand Down
20 changes: 10 additions & 10 deletions docs/install.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Install
=======

Nemoa requires Python 3.7 or later. If you do not already have a Python
Rian requires Python 3.7 or later. If you do not already have a Python
environment configured on your computer, please see the instructions for
installing the full `scientific Python stack <https://scipy.org/install.html>`_.

Expand All @@ -18,30 +18,30 @@ installing the full `scientific Python stack <https://scipy.org/install.html>`_.
online documentation.

Below it is assumed, that you have the default Python environment configured on
your computer and you intend to install Nemoa inside of it. If you want
your computer and you intend to install Rian inside of it. If you want
to create and work with Python virtual environments, please follow instructions
on `venv <https://docs.python.org/3/library/venv.html>`_ and `virtual
environments <http://docs.python-guide.org/en/latest/dev/virtualenvs/>`_.

Install the latest distributed package
--------------------------------------

You can install the latest distributed package of Nemoa by using `pip`::
You can install the latest distributed package of Rian by using `pip`::

$ pip install nemoa
$ pip install rian

Install the development branch
------------------------------

The installation requires that you have `Git <https://git-scm.com/>`_ installed
on your system. Under this prerequisite the first step is to clone the GitHub
repository of Nemoa::
repository of Rian::

$ git clone https://github.com/frootlab/nemoa.git
$ git clone https://github.com/frootlab/rian.git

Thereupon the development branch can locally be installed by using `pip`::

$ cd nemoa
$ cd rian
$ pip install -e .

The ``pip install`` command allows you to follow the development branch as
Expand All @@ -51,16 +51,16 @@ line scripts to the appropriate locations.
Update the development branch
-----------------------------

Once you have cloned the Nemoa GitHub repository onto a local directory, you
Once you have cloned the Rian GitHub repository onto a local directory, you
can update it anytime by running a ``git pull`` in this directory::

$ git pull

Testing the development branch
------------------------------

Nemoa uses the Python builtin package unittest for testing. Since the tests are
not included in the distributed package you are required to install the Nemoa
Rian uses the Python builtin package unittest for testing. Since the tests are
not included in the distributed package you are required to install the Rian
development branch. Thereupon you have to switch to the repository directory and
run::

Expand Down
8 changes: 4 additions & 4 deletions docs/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ data science.
.. image:: images/model.png
:width: 300
:align: center
:alt: Nemoa Deep Belief Model
:alt: Rian Deep Belief Model

*Nemoa* is a data analysis framework for collaborative data science and
*Rian* is a data analysis framework for collaborative data science and
enterprise application. The key goal of the project is to provide a long-term
data analysis framework, which seemingly integrates into existing enterprise
data environments and thereby supports collaborative data science. To achieve
this goal nemoa orchestrates established frameworks like `TensorFlow®`_ and
this goal rian orchestrates established frameworks like `TensorFlow®`_ and
`SQLAlchemy`_ and dynamically extends their capabilities by community driven
algorithms for probabilistic graphical modeling [PGM]_, machine learning [ML]_
and structured data-analysis [SDA]_.

Components
----------
Nemoa is open source and based on the `Python`_ programming language. It
Rian is open source and based on the `Python`_ programming language. It
provides:

* A transparent `DW`_ architecture for the seamless integration of existing
Expand Down
2 changes: 1 addition & 1 deletion docs/license.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
License
=======

Nemoa is distributed with the GNU General Public License v3 [GPLV3]_.
Rian is distributed with the GNU General Public License v3 [GPLV3]_.

::

Expand Down
22 changes: 11 additions & 11 deletions nemoa/__init__.py → rian/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@
# Copyright (C) 2019 Frootlab
# Copyright (C) 2013-2019 Patrick Michl
#
# This file is part of Nemoa, https://www.frootlab.org/nemoa
# This file is part of Frootlab Rian, https://www.frootlab.org/rian
#
# Nemoa is free software: you can redistribute it and/or modify it under the
# Rian is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# Nemoa is distributed in the hope that it will be useful, but WITHOUT ANY
# Rian is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with
# Nemoa. If not, see <http://www.gnu.org/licenses/>.
# Rian. If not, see <http://www.gnu.org/licenses/>.
#
"""Nemoa.
"""Rian.
Nemoa is a data analysis framework for collaborative data science and enterprise
analytical applications. Nemoa is open source and based on the Python
programming language. Nemoa utilizes methods from probabilistic graphical
Rian is a data analysis framework for collaborative data science and enterprise
analytical applications. Rian is open source and based on the Python
programming language. Rian utilizes methods from probabilistic graphical
modeling [PGM]_, machine learning [ML]_ and structured data-analysis [SDA]_.
"""
__version__ = '0.5.583'
__license__ = 'GPLv3'
__copyright__ = '2019 Frootlab'
__description__ = 'Enterprise Machine-Learning and Predictive Analytics'
__url__ = 'https://www.frootlab.org/nemoa'
__url__ = 'https://www.frootlab.org/rian'
__organization__ = 'Frootlab'
__author__ = 'Frootlab Developers'
__email__ = 'contact@frootlab.org'
Expand All @@ -37,7 +37,7 @@
__credits__ = ['Willi Jäger']
__docformat__ = 'google'

from nemoa import session
from rian import session

def about(*args, **kwds):
"""Get meta information about current instance."""
Expand Down Expand Up @@ -68,7 +68,7 @@ def path(*args, **kwds):
return session.path(*args, **kwds)

def run(*args, **kwds):
"""Run nemoa python script in current session."""
"""Run rian python script in current session."""
return session.run(*args, **kwds)

def set(*args, **kwds):
Expand Down
10 changes: 5 additions & 5 deletions nemoa/base/__init__.py → rian/base/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@
# Copyright (C) 2019 Frootlab
# Copyright (C) 2013-2019 Patrick Michl
#
# This file is part of Nemoa, https://www.frootlab.org/nemoa
# This file is part of Frootlab Rian, https://www.frootlab.org/rian
#
# Nemoa is free software: you can redistribute it and/or modify it under the
# Rian is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# Nemoa is distributed in the hope that it will be useful, but WITHOUT ANY
# Rian is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with
# Nemoa. If not, see <http://www.gnu.org/licenses/>.
# Rian. If not, see <http://www.gnu.org/licenses/>.
#
"""Basic structures and tasks.
This package extends individual modules and types from the standard library and
external packages by selected features and convenience functions. The modules
are lightweight and mostly independent from nemoa modules outside the package.
are lightweight and mostly independent from rian modules outside the package.
"""
__copyright__ = '2019 Frootlab'
Expand Down

0 comments on commit 15329d2

Please sign in to comment.