Skip to content

Commit

Permalink
Xenon.Py to XenonPy
Browse files Browse the repository at this point in the history
  • Loading branch information
TsumiNa committed Jan 24, 2018
1 parent 2713491 commit 7616842
Show file tree
Hide file tree
Showing 12 changed files with 44 additions and 87 deletions.
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include *.rst LICENSE.rst CHANGES.rst requirements*.txt
recursive-include xenonpy *.py *.json *.yaml
recursive-include xenonpy *.py *.json *.yaml *.pkl.pd_ *.pkl.z
recursive-exclude tests/*.*
recursive-include licences *
12 changes: 6 additions & 6 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. Copyright 2017 TsumiNa. All rights reserved.
What is Xenon.Py project
What is XenonPy project
========================
.. image:: https://badges.gitter.im/yoshida-lab/XenonPy.svg
:alt: Join the chat at https://gitter.im/yoshida-lab/XenonPy
Expand All @@ -11,22 +11,22 @@ What is Xenon.Py project
:alt: Build Status
:target: https://travis-ci.org/yoshida-lab/XenonPy

**Xenon.Py** is a Python library focus on the material informatics which be designed for material explore based on machine learning.
**XenonPy** is a Python library focus on the material informatics which be designed for material explore based on machine learning.

The main purpose of this project is to build a complex system to calculate various chem/phys descriptors for machine learning then extend them to explore material space.
To reach this target, system also provide model training routines and try to re-use pre-trained model by various deep learning methods such as **transfer learning**.

This project has just started and a long way to run. The final goal of this project is to build a all-in-one virtual material development environment include:
This project has just started and a long way to run. The final goal of this project is to build a **All-In-One** virtual environment for material development come with:

* **Dataset and Pre-trained models out-of-box**
* **Massive dataset and Pre-trained models out-of-box**
* **Various descriptor calculation methods**
* **Model training and re-use**
* **Combined with deep learning methods seamless**
* **Visualization tools for analysis and publish ready**

Xenon.Py inspired by matminer: https://hackingmaterials.github.io/matminer/.
XenonPy inspired by matminer: https://hackingmaterials.github.io/matminer/.

Xenon.Py is a open source project https://github.com/yoshida-lab/XenonPy.
XenonPy is a open source project https://github.com/yoshida-lab/XenonPy.

See our documents for details: http://xenonpy.readthedocs.io

Expand Down
2 changes: 1 addition & 1 deletion docs/source/dataset.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Dataset
=======

Xenon.Py embed with ``elements`` and ``elements_completed`` dataset for descriptors calculation.
XenonPy embed with ``elements`` and ``elements_completed`` dataset for descriptors calculation.
These data are summarized from `mendeleev`_, `pymatgen`_, `CRC Hand Book`_ and `Magpie`_.

``elements`` dataset contains 118 elements with 74 elemental features(incomplete).
Expand Down
20 changes: 10 additions & 10 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
.. role:: raw-html(raw)
:format: html

What is Xenon.Py project
What is XenonPy project
========================
.. image:: https://badges.gitter.im/yoshida-lab/XenonPy.svg
:alt: Join the chat at https://gitter.im/yoshida-lab/XenonPy
Expand All @@ -14,16 +14,16 @@ What is Xenon.Py project
:alt: Build Status
:target: https://travis-ci.org/yoshida-lab/XenonPy

**Xenon.Py** is a Python library focus on the material informatics which be designed for material explore based on machine learning.
**XenonPy** is a Python library focus on the material informatics which be designed for material explore based on machine learning.



Why this name
=============

Xenon.Py named from element Xenon_.
XenonPy named from element Xenon_.
We did a `Graphical Lasso` calculation with our elemental descriptor to find the relationship between elements.
In Bonacich’s centrality calculation, Xenon got the lowest score which the means most isolated element.
In Bonacich’s centrality calculation, Xenon got the lowest score which means the most isolated element.
This is very interesting because the element's name xenon from the Greek word **ξένος [xenos]** also meaning 'foreign(er)', 'strange(r)', or 'guest'!

.. figure:: _static/glasso.png
Expand All @@ -33,24 +33,24 @@ This is very interesting because the element's name xenon from the Greek word **
Overview
========

The main purpose of this project is to build a complex system to generater various chem/phys descriptors for machine learning and use the results to explore material in virtual environment.
The main purpose of this project is to build a complex system to generate various chem/phys descriptors for machine learning and use the results to explore material in virtual environment.
To reach this target, XenonPy planed to provide a lot of modules for:

* Data saving and retrieving.
* Descriptor generating.
* Pre-trained model reusing. such like **transfer learning**.
* Backward prediction.

The final goal of this project is to build a **All-In-One** virtual material development environment include:
The final goal of this project is to build a **All-In-One** virtual environment for material development come withe:

* **Dataset and Pre-trained models out-of-box**
* **Various methods for descriptor generating and model training**
* **Combined with deep learning methods seamless**
* **Visualization tools for analysis and publish ready**


Xenon.Py built on top of pandas_ and PyTorch_ in order to make various downstream machine learning libraries and high-performance NN training.
By use Xenon.Py(**v0.1.0beta**) you can:
XenonPy built on top of pandas_ and PyTorch_ in order to make various downstream machine learning libraries and high-performance NN training.
By use XenonPy(**v0.1.0b**) you can:

* Save and retriever your data in a very simple way by using :py:class:`~xenonpy.utils.datatools.Saver` and :py:class:`~xenonpy.utils.datatools.Loader`.
* Turn a compound's composition into arrays of numbers representing things such as ``variance``, ``max``, ``min`` etc.
Expand All @@ -60,13 +60,13 @@ By use Xenon.Py(**v0.1.0beta**) you can:

.. figure:: _static/heatmap.jpg

Heatmap of 290 compositional descriptors of 69,640 compounds in Materials Project(upper: volume Å\ :sup:`3`\ , lower: density g/cm ).
Heatmap of 290 compositional descriptors of 69,640 compounds in Materials Project(upper: volume Å\ :sup:`3`\ , lower: density g/cm\ :sup:`3`\ ).

.. figure:: _static/nn.png

Prediction with NN. 290 compositional descriptors of 69,640 compounds was used for traine and test.

Xenon.Py is a `open source project <https://github.com/yoshida-lab/XenonPy>`_ inspired by `matminer <https://hackingmaterials.github.io/matminer>`_.
XenonPy is a `open source project <https://github.com/yoshida-lab/XenonPy>`_ inspired by `matminer <https://hackingmaterials.github.io/matminer>`_.
This project has just started and a long way to run. We have our plan but very pleased to hear your feedback to make it even better.

Code contributions are also welcomed. See :doc:`contribution` for details.
Expand Down
20 changes: 10 additions & 10 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
============
Installation
============
Xenon.Py can be used in Python 3.5 and 3.6.
XenonPy can be used in Python 3.5 and 3.6.
We have no plane to support Python 2.x (also `pymatgen library will discontinuing Python 2 support from 2018 <http://pymatgen.org/#py3k-only-with-effect-from-2019-1-1>`_).
For some legacy clusters which only come with Python 2.x, a possibility approach is to create an isolated Python 3.5 or 3.6 environment.

Xenon.Py use PyTorch_ as the NN engine backend because of it's flexibility and high performance.
XenonPy use PyTorch_ as the NN engine backend because of it's flexibility and high performance.
Since PyTorch has no common installation recipe beacuse it dependent on what your OS is and either use `CUDA <https://developer.nvidia.com/cuda-toolkit>`_.
So unfortunately, you have to install PyTorch manually after the installation of Xenon.Py.
So unfortunately, you have to install PyTorch manually after the installation of XenonPy.

Let we say:

Expand All @@ -26,23 +26,23 @@ Let we say:

.. _install_xenonpy:

Step1: Install Xenon.Py
Step1: Install XenonPy
=======================


via anaconda (recommended)
--------------------------
The easiest way to install Xenon.Py is using conda_. If you don't have conda_ follow the `official installation documents <https://conda.io/docs/user-guide/install/index.html>`_.
The easiest way to install XenonPy is using conda_. If you don't have conda_ follow the `official installation documents <https://conda.io/docs/user-guide/install/index.html>`_.

We created a channel to build a collection of our materials science software,
If you already have conda installed, Xenon.Py can be installed from the `yoshida-lab channel`_ using the following one line command:
If you already have conda installed, XenonPy can be installed from the `yoshida-lab channel`_ using the following one line command:

.. code-block:: bash
$ conda install --channel yoshida-lab xenonpy
Xenon.Py is under active development, many new features are added regularly. To
XenonPy is under active development, many new features are added regularly. To
upgrade pymatgen to the latest version, use the following command:

.. code-block:: bash
Expand All @@ -61,7 +61,7 @@ Simply run the command in a bash terminal:
$ pip install xenonpy
or, to install Xenon.Py in your user home folder, run the command:
or, to install XenonPy in your user home folder, run the command:

.. code-block:: bash
Expand All @@ -79,7 +79,7 @@ To update, simply type
Install in development mode
-----------------------------

To install from the latest source code of the Xenon.Py from our `Github repository`_, clone the Git source:
To install from the latest source code of the XenonPy from our `Github repository`_, clone the Git source:

.. code-block:: bash
Expand All @@ -92,7 +92,7 @@ and then enter the cloned repository/folder to install in developer mode:
$ cd XenonPy
$ pip install -e .
To update Xenon.Py, enter your cloned folder and type
To update XenonPy, enter your cloned folder and type

.. code-block:: bash
Expand Down
1 change: 1 addition & 0 deletions environment_py35.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ dependencies:
- python=3.5
- numpy
- pandas
- tqdm
- seaborn
- urllib3
- matplotlib
Expand Down
1 change: 1 addition & 0 deletions environment_py36.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ dependencies:
- python=3.6
- numpy
- pandas
- tqdm
- seaborn
- pymatgen
- urllib3
Expand Down
6 changes: 3 additions & 3 deletions samples/load_and_save_data.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
"source": [
"## Load and save data\n",
"\n",
"Xenon.Py come with some datatools for data loading and saving in efficient way.\n",
"These samples show how play with date in Xenon.Py's.\n",
"XenonPy come with some datatools for data loading and saving in efficient way.\n",
"These samples show how play with date in XenonPy's.\n",
"\n",
"\n",
"### Load\n",
"\n",
"Using `xenonpy.utils.Loader` class to load data from Xenon.Py preset dataset or from cached user created under ``~/.xenonpy/cached``.\n",
"Using `xenonpy.utils.Loader` class to load data from XenonPy preset dataset or from cached user created under ``~/.xenonpy/cached``.\n",
"\n",
"Initialized with None parameters means to load data in ``~/.xenonpy/cached`` or ``~/.xenonpy/dataset`` dir, like this:"
]
Expand Down
2 changes: 1 addition & 1 deletion samples/playground.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"source": [
"##Load data\n",
"\n",
"This sample show how to load date from Xenon.Py's preset dataset or user create data from `~/.xenonpy/cached` dir."
"This sample show how to load date from XenonPy's preset dataset or user create data from `~/.xenonpy/cached` dir."
]
},
{
Expand Down
59 changes: 7 additions & 52 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,54 +15,6 @@
# --- import your package ---
import xenonpy as package

"""
Appendix
--------
::
Frequent used classifiers List = [
"Development Status :: 1 - Planning",
"Development Status :: 2 - Pre-Alpha",
"Development Status :: 3 - Alpha",
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"Development Status :: 6 - Mature",
"Development Status :: 7 - Inactive",
"Intended Audience :: Customer Service",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Financial and Insurance Industry",
"Intended Audience :: Healthcare Industry",
"Intended Audience :: Information Technology",
"Intended Audience :: Legal Industry",
"Intended Audience :: Manufacturing",
"Intended Audience :: Other Audience",
"Intended Audience :: Religion",
"Intended Audience :: Science/Research",
"Intended Audience :: System Administrators",
"Intended Audience :: Telecommunications Industry",
"License :: OSI Approved :: BSD License",
"License :: OSI Approved :: MIT License",
"License :: OSI Approved :: Apache Software License",
"License :: OSI Approved :: GNU General Public License (GPL)",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Natural Language :: English",
"Natural Language :: Chinese (Simplified)",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
"Operating System :: Unix",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 2 :: Only",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3 :: Only",
]
"""


def get_requirements(filename: str):
"""
Expand Down Expand Up @@ -186,16 +138,13 @@ def get_requirements(filename: str):
]

CLASSIFIERS = [
"Development Status :: 2 - Pre-Alpha",
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
"Operating System :: Unix",
"Programming Language :: Python",
# "Programming Language :: Python :: 2.7",
# "Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
]
Expand Down Expand Up @@ -227,3 +176,9 @@ def get_requirements(filename: str):
tests_require=REQUIRES_TEST,
)

"""
Appendix
--------
classifiers: https://pypi.python.org/pypi?%3Aaction=list_classifiers
"""

4 changes: 2 additions & 2 deletions xenonpy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# license that can be found in the LICENSE file.

__version__ = '0.0.12'
__release__ = 'beta'
__release__ = '.dev'
__short_description__ = "material descriptor library"
__license__ = "BSD (3-clause)"
__author__ = "TsumiNa"
Expand Down Expand Up @@ -61,7 +61,7 @@ def _get_dataset_url(fname: str):
return 'https://github.com/' + \
__github_username__ + '/' +\
__name__ + '/releases/download/' + \
__version__ + '-' + __release__ + '/' + \
__version__ + __release__ + '/' + \
fname + '.pkl'


Expand Down
2 changes: 1 addition & 1 deletion xenonpy/utils/datatools.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

class Loader(object):
"""
Load data from embed dataset in Xenon.Py's or user create data saved in ``~/.xenonpy/cached`` dir.
Load data from embed dataset in XenonPy's or user create data saved in ``~/.xenonpy/cached`` dir.
Also can fetch data by http request.
This is sample to demonstration how to use is. Also see parameters documents for details.
Expand Down

0 comments on commit 7616842

Please sign in to comment.