Skip to content

Commit

Permalink
Merge pull request #25 from jMetal/develop
Browse files Browse the repository at this point in the history
Major release 0.5.0
  • Loading branch information
benhid authored Jul 13, 2018
2 parents 1235ea2 + d8ddb3e commit ca39721
Show file tree
Hide file tree
Showing 159 changed files with 18,661 additions and 2,400 deletions.
130 changes: 102 additions & 28 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,36 +1,110 @@
*.class
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Package Files #
*.jar
*.war
*.ear
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Installer logs
pip-log.txt
pip-delete-this-directory.txt

venv
env
.idea
*.pyc
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
__pycache__/
build
dist
*.spec
coverage.xml
*.egg-info
.coverage.*
.cache
pytest-env
*.zip
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# Avoid documentation
auto-docs/build
auto-docs/source/*.rst
!auto-docs/source/index.rst
.RData
.Rhistory
_pycache__
# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

# idea
.idea

# pypi
.pypirc

# Dask
dask-worker-space
8 changes: 8 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
build:
image: latest

python:
version: 3.6
pip_install: true

requirements_file: docs/requirements.txt
16 changes: 8 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ branches:
- master
- /.*/
deploy:
provider: pypi
skip_cleanup: true
user: ajnebro
distributions: sdist bdist_wheel
password:
secure: "pJhh2ZwuDaMELZO7kmNGWa7sRaUi6s4By4GdBxf1hPjIBkB0GkOGHKxuivnWitAYLbmzpSoMcp2rHETcRiSqYTPlyovLA8A7YpY1HXIcNBrrmqnOpzc9bN3Ka90HMu0ySw2uYZgaQ2neFMm5CvD6W47IG0UUaFPYl68aZ8lEe8t7Tea7kFLU4UgXZxp3BXLTHF7xx7V29Ba5aKv2"
on:
branch: master
provider: pypi
skip_cleanup: true
user: ajnebro
distributions: sdist bdist_wheel
password:
secure: "pJhh2ZwuDaMELZO7kmNGWa7sRaUi6s4By4GdBxf1hPjIBkB0GkOGHKxuivnWitAYLbmzpSoMcp2rHETcRiSqYTPlyovLA8A7YpY1HXIcNBrrmqnOpzc9bN3Ka90HMu0ySw2uYZgaQ2neFMm5CvD6W47IG0UUaFPYl68aZ8lEe8t7Tea7kFLU4UgXZxp3BXLTHF7xx7V29Ba5aKv2"
on:
branch: master
63 changes: 0 additions & 63 deletions CHANGELOG.md

This file was deleted.

18 changes: 17 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,20 @@ Contributions to the jMetalPy project are welcome. Please, take into account the
- [Incorporate the new features of Python 3.5](resources/pages/features_python3.md)
- [Respect the initial structure](resources/pages/project_structure.md)
- [How to create auto documentation using compatible code](resources/pages/auto_doc.md)
- [Performance analysis of Python](resources/pages/profiling.md)
- [Performance analysis of Python](resources/pages/profiling.md)

# Documentation

To generate the documentation, install [Sphinx](http://www.sphinx-doc.org/en/master/) by running:

```bash
$ pip install sphinx
$ pip install sphinx_rtd_theme
```

And then `cd` to `/docs` and run:

```bash
$ sphinx-apidoc -f -o source/ ../jmetal/
$ make html
```
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2018 Antonio J. Nebro

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
69 changes: 36 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,50 @@
# jMetalPy: Python version of the jMetal framework
[![Build Status](https://travis-ci.org/jMetal/jMetalPy.svg?branch=master)](https://travis-ci.org/jMetal/jMetalPy)
[![PyPI](https://img.shields.io/pypi/l/jMetalPy.svg)]()
[![PyPI](https://img.shields.io/pypi/v/jMetalPy.svg)]()

> jMetalPy is currently under heavy development!
I started a new project called jMetalPy in February 2017. The initial idea was not to write the whole jMetal proyect in Python but to use it as a practical study to learn that programming language, although due to the interest of some researchers the goal of an usable jMetal version in Python is an ongoing work.
<p align="center">
<br/>
<img src=docs/source/jmetalpy.png alt="jMetalPy">
<br/>
</p>

Any ideas about how the structure the project, coding style, useful tools (I'm using PyCharm), or links to related projects are welcome (see [CONTRIBUTING](https://github.com/jMetal/jMetalPy/blob/master/CONTRIBUTING.md)). The starting point is the jMetal architecture:

![jMetal architecture](resources/jMetal5UML.png)

---
# jMetalPy: Python version of the jMetal framework
[![Build Status](https://img.shields.io/travis/jMetal/jMetalPy.svg?style=flat-square)](https://travis-ci.org/jMetal/jMetalPy)
[![Read the Docs](https://img.shields.io/readthedocs/jmetalpy.svg?style=flat-square)](https://readthedocs.org/projects/jmetalpy/)
[![PyPI License](https://img.shields.io/pypi/l/jMetalPy.svg?style=flat-square)]()
[![PyPI Python version](https://img.shields.io/pypi/pyversions/jMetalPy.svg?style=flat-square)]()

# Table of Contents
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Dependencies](#dependencies)
- [History](#history)
- [Last changes (December 18th 2017)](#last-changes-december-18th-2017)
- [Features](#features)
- [Contributing](#contributing)
- [License](#license)


# Usage
Examples of configuring and running all the included algorithms are located in the [jmetal.runner](https://github.com/jMetal/jMetalPy/tree/master/jmetal/runner) folder.

## Dependencies
With Python 3.6 installed, run:
```Bash
## Installation
To download jMetalPy just clone the Git repository hosted in GitHub:
```bash
$ git clone https://github.com/jMetal/jMetalPy.git
$ pip install -r requirements.txt
$ python setup.py install
```

# History
See [CHANGELOG](CHANGELOG.md) for full version history.
Alternatively, you can install it with `pip`:
```bash
$ pip install jmetalpy
```

## Usage
Examples of configuring and running all the included algorithms are located [in the docs](https://jmetalpy.readthedocs.io/en/latest/examples.html).

## Features
The current release of jMetalPy (v0.5.0) contains the following components:

## Last changes (January 18th 2018)
* (Fix) Search solution in `ScatterPlot()` now return only one solution object (as intended).
* Added class `ParallelEvaluator` (Contribution of Michael Cipold)
* Fixed a bug in class `DominanceComparator`
* Algorithms: random search, NSGA-II, SMPSO, SMPSO/RP
* Problems: ZDT1-6, DTLZ1-2, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).
* Encodings: real, binary
* Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random)
* Quality indicators: hypervolume
* Density estimator: crowding distance
* Graphics: 2D/3D plotting in real-time

# Contributing
## Contributing
Please read [CONTRIBUTING](CONTRIBUTING.md) for details on how to contribute to the project.

# License
## License
This project is licensed under the terms of the MIT - see the [LICENSE](LICENSE) file for details.
6 changes: 0 additions & 6 deletions TODO.md

This file was deleted.

20 changes: 0 additions & 20 deletions auto-docs/source/index.rst

This file was deleted.

Loading

0 comments on commit ca39721

Please sign in to comment.