Commits

German Larrain  committed 8249769 Merge

Merge with dev

  • Participants
  • Parent commits a866623, 8cde845
  • Branches default

Comments (0)

Files changed (9)

 .. image:: https://pypip.in/d/ARS/badge.png
    :target: https://crate.io/packages/ARS/
 
-ARS is a physically-accurate open-source simulation suite for research and
-development of mobile manipulators and, in general, any multi-body system. It
-is modular, easy to learn and use, and can be a valuable tool in the process
+ARS is a physically-accurate robotics simulator written in Python.
+It's main purpose is to help researchers to develop mobile
+manipulators and, in general, any multi-body system. It
+is open-source, modular, easy to learn and use,
+and can be a valuable tool in the process
 of robot design, in the development of control and reasoning algorithms, as
 well as in teaching and educational activities.
 
-It will encompass a wide range of tools spanning from kinematics and dynamics
-simulation to robot interfacing and control.
+.. 
+   It will encompass a wide range of tools spanning from kinematics and dynamics
+   simulation to robot interfacing and control.
 
-The software is implemented in Python integrating the
+ARS uses
 `Open Dynamics Engine (ODE) <https://sourceforge.net/projects/opende/>`_
-and the `Visualization Toolkit (VTK) <http://www.vtk.org/>`_.
+as physics engine, and
+`Visualization Toolkit (VTK) <http://www.vtk.org/>`_
+as graphics engine.
+While both are well regarded and popular open-source software,
+ARS was designed to minimize coupling with them
+(through included abstraction layers)
+to let developers experiment with other alternatives.
 
 
-Installation and Requirements
+Installation
 -----------------------------
 
-For installation instructions and requirements, see the
-`online documentation <http://ars-project.readthedocs.org/en/latest/installation/>`_.
-
-ARS relies in these software:
-
-* Python 2.7
-* ODE (Open Dynamics Engine) 0.12 (from rev 1864 could work but is untested) with Python bindings
-* VTK (Visualization Toolkit) 5.8 with Python bindings
-* NumPy 1.6
-
-Provided ODE and VTK are already installed, execute this to get ARS up and running:
+Because ARS is ``pip``-compatible,
+it's very easy to install, upgrade and uninstall it:
 
 .. code-block:: bash
 
    $ pip install ARS
+   $ pip install --upgrade ARS
+   $ pip uninstall ARS
+
+While that's the recommended way to go, you may still follow
+the old-fashion procedure: download the file, unpack and run
+
+.. code-block:: bash
+
+   $ python setup.py install
+
+
+Requirements
+^^^^^^^^^^^^
+
+ARS needs:
+
+* Python 2.6 or 2.7
+* ODE (Open Dynamics Engine) 0.12 with Python bindings
+* VTK (Visualization Toolkit) 5.8 with Python bindings
+* NumPy 1.6
+
+ODE and VTK can be somewhat complicated to install, depending on your OS.
+
+For detailed installation instructions (ARS and requirements)
+and troubleshooting, see the
+`online documentation <http://ars-project.readthedocs.org/en/latest/installation/>`_.
 
 
 Documentation

File ars/__init__.py

-"""ARS is a physically-accurate open-source simulation suite for research and
-development of mobile manipulators and, in general, any multi-body system.
+"""ARS is a physically-accurate robotics simulator written in Python.
+It's main purpose is to help researchers to develop mobile
+manipulators and, in general, any multi-body system.
+It is open-source, modular, easy to learn and use,
+and can be a valuable tool in the process of robot design,
+in the development of control and reasoning algorithms,
+as well as in teaching and educational activities.
 
 """
 # based on: ``django.__init__`` @ commit 5b644a5
 # see its license in docs/Django BSD-LICENSE.txt
 
 # for a "real" release, replace 'alpha' with 'final'
-VERSION = (0, 5, 0, 'alpha', 2)  # i.e. 0.5a2
+VERSION = (0, 5, 0, 'beta', 1)  # i.e. 0.5b1
 
 
 def get_version(*args, **kwargs):

File ars/model/physics/ode_adapter.py

 
 class World(base.World):
 
-	"""Adapter to :class:`ode.World`."""
+	"""Adapter to :class:`ode.World`.
 
-	def __init__(self, gravity=G_VECTOR, ERP=0.8, CFM=1E-10, *args, **kwargs):
+		.. seealso::
+		   Read abouth ERP and CFM in ODE's wiki
+		   http://ode-wiki.org/wiki/index.php?title=Manual:_Concepts
+
+	"""
+
+	def __init__(self, gravity=G_VECTOR, ERP=0.2, CFM=1E-10, *args, **kwargs):
 		"""Constructor.
 
 		:param gravity: gravity acceleration vector

File docs/diagrams generation.txt

+Graphviz and pyreverse (now distributed with
+pylint https://pypi.python.org/pypi/pylint/) 
+
+	To generate PDF class diagrams based on a Python module/package
+	$ pyreverse path/to/module.py
+	$ dot -Tpdf -O classes_No_Name.dot
+
+	To hide attributes and methods in the class boxes add option -k
+	$ pyreverse -k path/to/module.py
+
+	The diagrams can be manually edited by manipulating entries in the .dot
+	file, which is just a text file that defines the elements of the diagram.

File docs/epydoc/build documentation.txt

 
 To build the docs, run the following command from the project main directory
 	epydoc -v --config docs/epydoc/epydoc.cfg --exclude ars.lib.* ars/
-
-To generate class diagrams based on a Python module
-	pyreverse path/to/module.py
-	dot -Tps classes_No_Name.dot -o graph1.ps

File docs/maintainers/Procedure to create and upload a release .txt

 0) clean working directory. The best choice is to shelve all changes.
 
 1) test that the source distribution is created appropriately (in all the archive formats)
+   as well as the Wheel distribution.
 	$ python setup.py sdist --formats=gztar,zip
+	$ python setup.py bdist_wheel
 
 2) update version/release number and commit. Change it in
 	ars/__init__.py
 
-3) tag previous changeset with the output of `ars.get_version()` e.g. '0.4a1'
+3) in branch 'default', merge with 'dev' and tag previous changeset
+(e.g. 1084 = 9fa5876718f0) with the output of `ars.get_version()` e.g. '0.5a2'
+	$ hg up default
+	$ hg merge dev-main
+	$ hg tag --rev 1084 "--message=Added tag 0.5a2 for changeset 9fa5876718f0" 0.5a2
 
-4) create and upload source distribution to PyPI
+4) create and upload source and binary distributions to PyPI
+Alternative A
 	$ python setup.py sdist --formats=gztar,zip upload
+	$ python setup.py bdist_wheel upload
+
+Alternative B
+	Go to https://pypi.python.org/pypi?name=ARS&:action=submit_form
+	and "PKG-INFO file" > "Choose file" > "Add Package Info" to create a new
+	release manually. Then upload source dist files (gzip and zip)
+	with "File type" set to "source", and Wheel dist
+	with "File type", "Python version" set to "Python wheel", "Any".
 
 5) test installation with 'pip'
 	$ sudo pip install ARS
 9) set the .zip as the default download for Windows and Mac OSX, and the .gz
 	for all the rest.
 
+NOT anymore (download URLs are dynamically created for tags e.g.
+	https://bitbucket.org/glarrain/ars/get/0.5a2.tar.gz
 10) upload the same files here: https://bitbucket.org/glarrain/ars/downloads
 
 11) Verify documentation builds passed here: https://readthedocs.org/builds/ars-project/

File docs/sphinx/source/installation/windows.rst

 Microsoft Windows
 ====================
 
-Under preparation.
+Download and install the requirements:
+
+  * `Numpy <http://sourceforge.net/projects/arsproject/files/Install%20on%20Windows/libraries/numpy-1.6.2-win32-superpack-python2.7.exe>`_
+    (`mirror <http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy>`_)
+
+  * `ODE <http://sourceforge.net/projects/arsproject/files/Install%20on%20Windows/libraries/ode-0.12.win32-py2.7.exe>`_
+    (`mirror <http://www.lfd.uci.edu/~gohlke/pythonlibs/#ode>`_)
+
+  * `VTK <http://sourceforge.net/projects/arsproject/files/Install%20on%20Windows/libraries/VTK-5.8.0.win32-py2.7.exe>`_
+    (`mirror <http://www.lfd.uci.edu/~gohlke/pythonlibs/#vtk>`_)
+
+
+Now download the MS Windows installer of ARS from
+`PyPI <https://pypi.python.org/pypi/ARS>`_ and install it. 

File docs/sphinx/source/releases.rst

 =======	==========	============
 version	date		revision
 =======	==========	============
+0.5a2	2013.10.21	`9fa5876718f0 <https://bitbucket.org/glarrain/ars/changeset/9fa5876718f0>`_
 0.5a1	2013.09.25	`60c96b5b55ba <https://bitbucket.org/glarrain/ars/changeset/60c96b5b55ba>`_
 0.4a1	2013.04.13	`f9c1381290bc <https://bitbucket.org/glarrain/ars/changeset/f9c1381290bc>`_
 0.3a1	2012.10.17	`b9190db2b909 <https://bitbucket.org/glarrain/ars/changeset/b9190db2b909>`_
 
 version = __import__('ars').get_version()
 
+with open('README.rst') as readme_file:
+	long_description = readme_file.read()
+
 packages = [
 	'ars',
 	'ars.app',
 	name='ARS',
 	version=version,
 	description='Physically-accurate robotics simulator',
-	long_description=open('README.rst').read(),
+	long_description=long_description,
 	author='German Larrain-Munoz',
 	author_email='glarrain@users.noreply.github.com',
 	url='http://bitbucket.org/glarrain/ars',
 	#download_url='',
 	#platforms='any',
-	license=open('LICENSE.txt').read(),
+	# kwarg `license` is not necessary because classifier 'License' is provided
 	keywords = "simulator robotics physics open-dynamics-engine vtk",
 	requires=requires,
 	packages=packages,