Skip to content

Commit

Permalink
Merge pull request #1219 from swryan/beta
Browse files Browse the repository at this point in the history
Miscellaneous updates for 3.0 release
  • Loading branch information
swryan committed Mar 4, 2020
2 parents db40108 + ce77478 commit 57669f4
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 44 deletions.
63 changes: 31 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,54 @@
[![AppVeyor Badge][11]][12]
[![Coveralls Badge][13]][14]

# [OpenMDAO 2][0]
*This version of **OpenMDAO** is in Development Status **[BETA][15]**.*
# [OpenMDAO][0]

## Documentation

Documentation for the latest version can be found [here][2].

Documentation archives for prior versions can be found [here][3].

## Important Notice
While the API is MOSTLY stable, the **OpenMDAO** development team reserves the
right to update it and other elements of the code as needed.

The team will be making frequent updates to the source code, so users are
encouraged to regularly pull for updates.
While the API is relatively stable, **OpenMDAO** remains in active development.
There will be periodic changes to the API.
User's are encouraged to pin their version of OpenMDAO to a recent release and
update periodically.

### OpenMDAO Versions

**OpenMDAO 3.x.y** represents the current version and is no longer
considered **[BETA][15]**. It requires Python 3.6 or later and is
maintained [here][4].
To install the latest release, run `pip install --update openmdao`.

**OpenMDAO 2.10.x** is the last version to support Python2.x and will
only receive critical bug fixes going forward.
To install this older release, run `pip install "openmdao<3"`
(the quotes around `openmdao<3` are required).

> **PLEASE NOTE**: This repository was previously named **OpenMDAO/blue**.
If you had cloned that repository, please update your repository name and
remotes to reflect these changes. You can find instructions [here][8].

The **OpenMDAO 2.x.y** code has taken the name **OpenMDAO**, and is maintained
[here][4]. To install the latest release, run `pip install --update openmdao`.

The **OpenMDAO 1.7.4** code repository is now named **OpenMDAO1**, and has moved
[here][5]. To install it, run: `pip install "openmdao<2"` (the quotes around
`openmdao<2` are required).
[here][5]. To install it, run: `pip install "openmdao<2"`
(the quotes around `openmdao<2` are required).

The legacy **OpenMDAO v0.x** (versions 0.13.0 and older) of the
**OpenMDAO-Framework** are [here][6].

### Missing Features from OpenMDAO 1.7.4
Be aware that version 2.x of **OpenMDAO** is in Development Status **BETA**
and not all the features of 1.7.4 are currently available.
## Install OpenMDAO

Here is a list of things that have not yet been developed in 2.x:

* Automatic ordering of groups/components based on data connections
* File variables
* Active-set constraint calculation disabling
* Brent Solver
* Case recording using CSV, HDF5, and dump recorders (SqliteRecorder is the
currently supported case recorder)

## Install OpenMDAO 2
You have two options for installing **OpenMDAO**, (1) from the
[Python Package Index (PyPI)][1], and (2) from the [GitHub repository][4].

**OpenMDAO** includes two optional sets of dependencies, `test` for
installing the developer tools (e.g., testing, coverage), and `docs` for
building the documentation. A third option, `all` combines these two sets.
**OpenMDAO** includes several optional sets of dependencies:
`test` for installing the developer tools (e.g., testing, coverage),
`docs` for building the documentation and
`visualization` for some extra visualization tools.
Specifying `all` will include all of the optional dependencies.

### Install from [PyPI][1]
This is the easiest way to install **OpenMDAO**. To install only the runtime
Expand All @@ -69,8 +67,7 @@ This allows you to install **OpenMDAO** from a local copy of the source code.
git clone http://github.com/OpenMDAO/OpenMDAO
pip install OpenMDAO

#### Install the Developer Dependencies

#### Install for Development
If you would like to make changes to **OpenMDAO** it is recommended you
install it in *[editable][16]* mode (i.e., development mode) by adding the `-e`
flag when calling `pip`, this way any changes you make to the source code will
Expand All @@ -80,8 +77,9 @@ generator. You can install everything needed for development by running:

pip install -e OpenMDAO[all]

## Test OpenMDAO 2
Users are encourage to run the unit tests to ensure **OpenMDAO** is performing
## Test OpenMDAO

Users are encouraged to run the unit tests to ensure **OpenMDAO** is performing
correctly. In order to do so, you must install the testing dependencies.

1. Install **OpenMDAO** and its testing dependencies:
Expand Down Expand Up @@ -116,7 +114,8 @@ and include the error message.
('AMD64', 'Intel64 Family 6 Model 94 Stepping 3, GenuineIntel'),
'3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) ...')

## Build the Documentation for OpenMDAO 2
## Build the Documentation for OpenMDAO

> You will need **make** to build the documentation. If you are using Windows,
you can install [Anaconda](https://www.anaconda.com/download/) and install
**make** by running: `conda install make`.
Expand Down
2 changes: 1 addition & 1 deletion openmdao/docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@

# The full version, including alpha/beta/rc tags.
import openmdao
release = openmdao.__version__ + ' Beta'
release = openmdao.__version__
print('Release: %s' % release)

# Will be the Release version (x.y.z) or the commit ID if not a release build.
Expand Down
2 changes: 1 addition & 1 deletion openmdao/docs/developer_docs/advanced_operations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The following process is a one-time setup for the owner of a project to complete
transparent to other developers and users. The process outlined here is to get a project's docs to build on Travis CI, and then
transfer the built docs off to a web server. (This example illustrates OpenMDAO's process.)
The reason you'd use this method instead of just setting up readthedocs.org, is because on Travis, you can very specifically
customize the installation of your project. Certain advanced items in OpenMDAO 2.0 just can't be installed on readthedocs, but can be on Travis.
customize the installation of your project. Certain advanced items in OpenMDAO just can't be installed on readthedocs, but can be on Travis.
Having a full install means that the docs will be more complete, because embedded tests that rely on, for instance, MPI, will actually work on Travis CI,
whereas they currently do not on readthedocs.org.

Expand Down
2 changes: 1 addition & 1 deletion openmdao/docs/developer_docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Creating Your Own OpenMDAO Plugins
Documentation Style Guide
-------------------------

This document exists to help OpenMDAO 2.x.y documentation writers follow appropriate guidelines,
This document exists to help OpenMDAO documentation writers follow appropriate guidelines,
in terms of formatting and embedding code.

.. toctree::
Expand Down
2 changes: 1 addition & 1 deletion openmdao/docs/theory_manual/setup_stack.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ Add a case recorder to the group or to a solver in a subsystem
Problem setup and final_setup
-----------------------------

OpenMDAO 2.0 introduces a new change to the setup process in which the original monolithic process
OpenMDAO 2.0 introduced a new change to the setup process in which the original monolithic process
is split into two separate phases triggered by the methods: `setup` and `final_setup`. The `final_setup` method is
however something you will probably never have to call, as it is called automatically the first time that
you call `run_model` or `run_driver` after running `setup`. The reason that the `setup` process was split into two
Expand Down
17 changes: 9 additions & 8 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
open('openmdao/__init__.py').read(),
)[0]

# Pyppeteer GUI testing only works with Python 3.6+
gui_test_deps = ['websockets>6', 'pyppeteer_fork']

optional_dependencies = {
'docs': [
'matplotlib',
Expand All @@ -30,8 +27,10 @@
'numpydoc>=0.9.1',
'pycodestyle>=2.4.0',
'pydocstyle==2.0.0',
'testflo>=1.3.6' if sys.version_info >= (3, 5) else 'testflo==1.3.6'
] + (gui_test_deps if sys.version_info > (3, 5) else [])
'testflo>=1.3.6'
'websockets>6',
'pyppeteer_fork'
]
}

# Add an optional dependency that concatenates all others
Expand All @@ -44,14 +43,14 @@
setup(
name='openmdao',
version=__version__,
description="OpenMDAO v2 framework infrastructure",
description="OpenMDAO framework infrastructure",
long_description="""OpenMDAO is an open-source high-performance computing platform
for systems analysis and multidisciplinary optimization, written in Python. It
enables you to decompose your models, making them easier to build and maintain,
while still solving them in a tightly coupled manner with efficient parallel numerical methods.
""",
classifiers=[
'Development Status :: 4 - Beta',
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
Expand All @@ -60,8 +59,9 @@
'Operating System :: Microsoft :: Windows',
'Topic :: Scientific/Engineering',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: Implementation :: CPython',
],
keywords='optimization multidisciplinary multi-disciplinary analysis',
Expand Down Expand Up @@ -151,6 +151,7 @@
],
'openmdao': ['*/tests/*.py', '*/*/tests/*.py', '*/*/*/tests/*.py']
},
python_requires=">=3.6",
install_requires=[
'urllib3<1.25', # this is to prevent urllib version conflict between
# requests, numpydoc, and pyppeteer
Expand Down

0 comments on commit 57669f4

Please sign in to comment.