Neworder

Latest version: v1.4.1

Safety actively analyzes 621706 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.4.0

Packaging changes

The package now contains the following optional dependencies/extras:

- `geospatial`: geospatial graph functionality based on nextworkx, osmnx, geopandas etc
- `parallel`: MPI
- `dev`: for local package development

which can be installed like so, e.g.

sh
pip install neworder[parallel]


Functional changes

- `neworder.geospatial.GeoSpatialGraph` is now available - if the `geospatial` extra has been selected. (Previously the implementation was in an example)
- Changes to the `mpi` submodule:
- the functions `rank()` and `size()` are now attributes: `RANK` and `SIZE`.
- there is a new `COMM` attribute, which is either an `mpi4py.MPI.Intracomm` instance or `None` depending on whether the `parallel` extra was installed.
- In the `time` submodule, the following functions are now attributes:
- `never()` becomes `NEVER`
- `distant_past()` becomes `DISTANT_PAST`
- `far_future()` becomes `FAR_FUTURE`.

Internal changes

- `Model.modify()` no longer takes an integer argument. Access `neworder.mpi.RANK` from within the function.
- seeder functions no longer take an integer argument. Access `neworder.mpi.RANK` from within a custom implementation function if necessary.
- packaging and CI improvements

1.3.1

Packaging changes

Conda builds are no longer supported as of this release. Conda users should use pip to install version 1.3 or higher.

Functional changes

- Custom timeline support. Users can now subclass `neworder.Timeline` to create their own timeline implementations and use them within their model.
- The following timeline attributes that were methods are now properties: `at_end`, `dt`, `end`, `index`, `nsteps`, `start`, `time`. Although this is potentially a breaking change, it's not considered significant enough to warrant a major version bump.
- The `seeder` argument to the base model constructor is now optional, and defaults to `neworder.MonteCarlo.deterministic_independent_stream`.

Internal changes

- Refactoring of `Model` base class and Timelines to support custom timelines
- Changes to CI workflows

Bugfixes

- Security fix for example dependencies

1.2.1

Functional changes

- Added "infection" example to demonstrate movement on a spatial network. In order to avoid a large increase in package dependencies, the spatial domain implementation (`GeospatialGraph`) is contained within the example, not the `neworder` package itself.
- Improved and extended "boids" examples, now with 2d and 3d versions
- added functionality to `StateGrid` to translate positions according to the given edge behaviour
- python 3.9 and below are no longer supported

Internal changes

- updates to CI

bugfixes

- fixed display issue with n-body example

1.2.0

Functional changes

- The neworder Monte-Carlo engine can now be used directly as a numpy random generator, giving access to all of numpy's random functionality. Create a generator via the `as_np` adapter method, e.g.:

py
model = no.Model(no.NoTimeline(), no.MonteCarlo.deterministic_identical_stream)
gen = no.as_np(model.mc)
normals = gen.normal(size=100)

- `MonteCarlo.state()` method now works on OSX (was previously disabled due to an apparent bug in the MT19937 implementation).

Internal

- numerous minor updates
- use C++20 standard

1.1.1

Functional changes

[none]

Internal

- Fix spurious MSVC17 compiler error on conda.

1.1.0

Functional changes

- All python code, including examples, now have type annotations. Type stubs have also been generated for the core (C++) library. Your IDE should now display signatures and docstrings for each function. The API documentation on the website is now redundant and has been reomved.
- Domain edge behaviours, previously an `int` class member of `Domain`, are now an enum `Edge`. e.g. `neworder.Domain.WRAP` becomes `neworder.Edge.WRAP`.

Examples

- The Conway example has been improved.

Internal

- Removed some deprecated function calls, e.g `DataFrame.append`.
- rename `master` to `main`.
- changes to CI builds.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.