Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update install docs #720

Merged
merged 5 commits into from
Nov 1, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 18 additions & 11 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,20 @@
## Standard

Basix can be installed using

```console
pip install .
```

For an editable build:
```console
pip install --no-build-isolation -e .
```

## Advanced

In the standard install, the C++ library is built and installed inside the
Python package. This method is suitable for the majority of use cases.
In the standard install, the C++ library is built and installed inside
the Python package. This method is suitable for the majority of use
cases.

It is also possible to install the C++ and Python interfaces separately
(see below). This is useful if you only need the C++ interface, and can
Expand All @@ -20,13 +25,11 @@ be helpful during development.
### C++ library

In the `cpp/` directory:

```console
cmake -DCMAKE_BUILD_TYPE=Release -B build-dir -S .
cmake --build build-dir
cmake --install build-dir
```

You may need to use `sudo` for the final install step. Using the CMake
build type `Release` is strongly recommended for performance.

Expand All @@ -35,14 +38,19 @@ build type `Release` is strongly recommended for performance.

After installing the C++ library, install the Python interface by running in
the directory `python/`:

```console
pip install .
```

For an editable build:
```console
pip install --no-build-isolation -e .
```

## Running the unit tests

To install Basix and the extra dependencies required to run the Python unit tests:
To install Basix and the extra dependencies required to run the Python
unit tests:

```console
pip install .[test]
Expand Down Expand Up @@ -71,10 +79,9 @@ Building the Python interface requires

At runtime Basix requires [`numpy`](https://numpy.org).

Basix specifies sets of optional extras `docs`, `lint`, `optional`, `test`, and
`ci` for building documentation, linting, enabling optional features, testing
and for continuous integration, respectively, e.g.:

Basix specifies sets of optional extras `docs`, `lint`, `optional`,
`test`, and `ci` for building documentation, linting, enabling optional
features, testing and for continuous integration, respectively, e.g.:
```console
pip install .[docs,lint]
```
22 changes: 10 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ Basix allows users to:
arbitrary meshes; and
- interpolate into and between finite element spaces.

Basix includes a range of built-in elements, and also allows the user to define
their own custom elements.
Basix includes a range of built-in elements, and also allows the user to
define their own custom elements.

Basix is one of the components of FEniCSx, alongside
[UFL](https://github.com/fenics/ufl),
Expand All @@ -31,13 +31,8 @@ pip install fenics-basix
```
We currently build binary wheels for Linux and macOS x86-64 architectures.

To install the `main` (development) branch of Basix:
```console
pip install git+https://github.com/FEniCS/basix.git
```

For advanced installation instructions see the detailed [install
instructions](INSTALL.md)
For advanced and developer installation instructions see the more
detailed [install instructions](INSTALL.md)


## Documentation
Expand All @@ -47,14 +42,17 @@ https://docs.fenicsproject.org/basix/main/.

## Support

If you find a bug in Basix, you can report it on the [GitHub issue tracker](https://github.com/fenics/basix/issues/new?labels=bug).
If you find a bug in Basix, you can report it on the [GitHub issue
tracker](https://github.com/fenics/basix/issues/new?labels=bug).

Questions about using Basix can be asked on the [FEniCS discourse group](https://fenicsproject.discourse.group/).
Questions about using Basix can be asked on the [FEniCS discourse
group](https://fenicsproject.discourse.group/).


## Contributing

Information about how to contribute to Basix can be found [here](CONTRIBUTING.md).
Information about how to contribute to Basix can be found
[here](CONTRIBUTING.md).

## Supported elements

Expand Down
1 change: 1 addition & 0 deletions python/basix/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

The core of the library is written in C++, but the majority of Basix's
functionality can be used via this Python interface.

garth-wells marked this conversation as resolved.
Show resolved Hide resolved
"""

from . import cell, finite_element, lattice, polynomials, quadrature, sobolev_spaces, variants
Expand Down
Loading