Skip to content

Commit

Permalink
updated info for release (#192)
Browse files Browse the repository at this point in the history
* updated info for release
  • Loading branch information
bertiqwerty authored May 5, 2023
1 parent 094eae1 commit 52c269e
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 51 deletions.
17 changes: 13 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@

Contributions to BoFire are highly welcome!

## Release roadmap
## Pull Requests

The features for the next release are tracked in the [milestones](https://github.com/experimental-design/bofire/milestones).
Pull requests are highly welcome:

1. Create a fork from main.
2. Add or adapt unit tests according to your change.
3. Add doc-strings and update the documentation. You might consider contributing to the tutorials section.
4. Make sure that the GitHub pipeline passes.

When supporting BoFire, feel free to suggest if the change should be incorporated into the next release.

## Development Environment

Expand All @@ -16,7 +20,7 @@ git clone https://github.com/experimental-design/bofire.git
```
and cd `bofire`, you can proceed with
```
pip install -e .[testing]
pip install -e .[optimization,cheminfo,testing,docs]
```
Afterwards, you can check that the tests are successful via
```
Expand All @@ -35,6 +39,7 @@ we have pre-commit hooks for Black, Flake8, and Isort configured in the versions
pip install pre-commit
pre-commit install
```
in you local project root folder, if you want to use `pre-commit`.

## Type checks

Expand All @@ -43,3 +48,7 @@ We make heavy use of [Pydantic](https://docs.pydantic.dev/) to enforce type chec
## Documentation

We use [MkDocs](https://www.mkdocs.org/) with [material theme](https://squidfunk.github.io/mkdocs-material/) and deploy our documentation to https://experimental-design.github.io/bofire/. Thereby, an API description is extracted from the doc-strings. Additionally, we have tutorials and getting-started-sections.

## License

By contributing you agree that your contributions will be licensed under the same [BSD 3-Clause License](./LICENSE) as BoFire.
56 changes: 12 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,66 +14,34 @@ BoFire ...
- supports mixed continuous, discrete and categorical parameter spaces for system inputs and outputs,
- separates objectives (minimize, maximize, close-to-target) from the outputs on which they operate,
- supports different specific and generic constraints as well as black-box output constraints,
- can provide flexible DoEs that fulfill constraints,
- provides sampling methods for constrained mixed variable spaces,
- json-serializes problems for use in RESTful APIs and json/bson DBs,
- serializes problems for use in RESTful APIs and json/bson DBs,
- allows easy out of the box usage of strategies for single and multi-objective Bayesian optimization, and
- provides a high flexibility on the modelling side if needed.

## Installation

BoFire has BoTorch as its main dependency which depends on PyTorch. In the following you find different options to install BoFire and its dependencies.

### Optional dependencies

BoFire has functionality to create D-optimal experimental designs via the doe module. To use this module please install cyipopt. The most comfortable way to do this is via `conda`
In our [docs](https://experimental-design.github.io/bofire/install/),
you can find all different options for the BoFire installation.
To install all BoFire-features you need to run
```
conda install -c conda-forge cyipopt
pip install bofire[optimization,cheminfo]
```

### Latest stable release

We do not recommend the latest stable release from PyPI until we have published version [0.1](https://github.com/experimental-design/bofire/milestone/1).

### Current main branch
This will also install [BoTorch](https://botorch.org/) that depends on
[PyTorch](https://pytorch.org/). To use the DoE package, you need to install
[Cyipopt](https://cyipopt.readthedocs.io/en/stable/)
additionally, e.g., via
```
pip install --upgrade git+https://github.com/experimental-design/bofire.git
conda install -c conda-forge cyipopt
```

### Development installation
If you want to [contribute](CONTRIBUTING.md) to BoFire, you might want to install in editable mode including the test dependencies.
After cloning the repository via
```
git clone https://github.com/experimental-design/bofire.git
```
and cd `bofire`, you can proceed with
```
pip install -e .[testing]
```
## Documentation

Documentation including a section on how to get started can be found under https://experimental-design.github.io/bofire/.

## Contributing

See our [Contributing](./CONTRIBUTING.md) guidelines.

### Release roadmap

The features for the next release are tracked in the [milestones](https://github.com/experimental-design/bofire/milestones).

### Pull Requests

Pull requests are highly welcome:

1. Create a fork from main.
2. Add or adapt unit tests according to your change.
3. Add doc-strings and update the documentation. You might consider contributing to the tutorials section.
4. Make sure that the GitHub pipeline passes.

### Issues

If you find any issues, Bugs, or not sure about something - feel free to create an Issue.

## License
See our [Contributing](./CONTRIBUTING.md) guidelines. If you are not sure about something or find bugs, feel free to create an issue.

By contributing you agree that your contributions will be licensed under the same license as BoFire: [BSD 3-Clause License](./LICENSE).
1 change: 1 addition & 0 deletions bofire/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__version__ = "0.0.4"
39 changes: 36 additions & 3 deletions docs/install.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,43 @@
# Installation

For the latest stable release install
In Bofire we have several optional depencies.

### Domain and Optimization Algorithms

To install Bofire with optimization tools you can use
```
pip install bofire[optimization]
```
This will also install [Botorch](https://botorch.org/) that depends on [Pytorch](https://pytorch.org/).
### Design of Experiments

BoFire has functionality to create D-optimal experimental designs via the `doe` module. This module is depends on
[Cyipopt](https://cyipopt.readthedocs.io/en/stable/). A comfortable way to install Cyipopt and the dependencies is via
```
conda install -c conda-forge cyipopt
```
You have to install Cyipopt manually.
### Just Domain

If you just want a data structure that represents the domain of an optimization problem you can
```
pip install bofire
```
To live at head you can use

### Cheminformatics

Some features related to molecules and their representation depend on [Rdkit](https://www.rdkit.org/).
```
pip install bofire[optimization,cheminfo]
```

### Development Installation
If you want to [contribute](CONTRIBUTING.md) to BoFire, you might want to install in editable mode including the test dependencies.
After cloning the repository via
```
git clone https://github.com/experimental-design/bofire.git
```
and cd `bofire`, you can proceed with
```
pip install git+https://github.com/experimental-design/bofire.git
pip install -e .[optimization,cheminfo,docs,testing]
```

0 comments on commit 52c269e

Please sign in to comment.