Skip to content

Commit

Permalink
Release 1.167.0
Browse files Browse the repository at this point in the history
See release notes.
  • Loading branch information
cjdsellers authored Jan 28, 2023
2 parents c58a678 + dbdcbea commit f95e3c7
Show file tree
Hide file tree
Showing 168 changed files with 4,800 additions and 2,889 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: General Questions
url: https://github.com/nautechsystems/nautilus_trader/discussions
about: Please ask questions like "How do I achieve x?" here.
about: Ask questions like "How do I achieve x?" here.
- name: Discord
url: https://discord.gg/AUWVs3XaCS
about: Chat with contributors and active users of NautilusTrader on our Discord server!
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ labels:

# Feature Request

Please provide a detailed description of your proposal, with some examples.
Provide a detailed description of your proposal, with some examples.
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Pull Request

Please include a summary of the changes.
Include a summary of the changes.

## Type of change

Please delete options that are not relevant.
Delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
Expand All @@ -13,4 +13,4 @@ Please delete options that are not relevant.

## How has this change been tested?

Please describe how this code was/is tested.
Describe how this code was/is tested.
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ repos:
args: ["--py39-plus"]

- repo: https://github.com/hadialqattan/pycln
rev: v2.1.2
rev: v2.1.3
hooks:
- id: pycln
name: pycln (remove unused imports)
Expand Down Expand Up @@ -101,7 +101,7 @@ repos:
- Flake8-pyproject

- repo: https://github.com/pycqa/pydocstyle
rev: 6.2.2
rev: 6.3.0
hooks:
- id: pydocstyle
files: ^nautilus_trader/
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing to NautilusTrader

Involvement from the trading community is a goal for this project, and all help is welcome!
To contribute, please follow these steps:
To contribute, follow these steps:

1. Open an issue on GitHub to discuss your proposed changes or enhancements.

Expand All @@ -13,11 +13,11 @@ To contribute, please follow these steps:

5. Open a pull request (PR) on the `develop` branch with a summary comment.

6. The CI system will run the full test-suite over your code including all unit and integration tests, so please include appropriate tests
6. The CI system will run the full test-suite over your code including all unit and integration tests, so include appropriate tests
with the PR.

7. [Codacy](https://www.codacy.com/) will perform an automated code review. Please
fix any issues which cause a failed check, and add the commit to your PR.
7. [Codacy](https://www.codacy.com/) will perform an automated code review.
Fix any issues which cause a failed check, and add the commit to your PR.

8. You will also be required to sign a standard Contributor License Agreement (CLA), which is administered automatically through [CLA Assistant](https://cla-assistant.io/).

Expand Down
13 changes: 8 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ IMAGE?=${REGISTRY}${PROJECT}
GIT_TAG:=$(shell git rev-parse --abbrev-ref HEAD)
IMAGE_FULL?=${IMAGE}:${GIT_TAG}
.PHONY: install build clean docs format pre-commit
.PHONY: clippy cargo-update cargo-test cargo-test-arm64
.PHONY: clippy cargo-build cargo-update cargo-test cargo-test-arm64
.PHONY: update docker-build docker-build-force docker-push
.PHONY: docker-build-jupyter docker-push-jupyter
.PHONY: pytest pytest-coverage
Expand All @@ -31,9 +31,16 @@ pre-commit: format
(cd nautilus_core && cargo fmt --all -- --check && cargo check -q && cargo clippy --all-targets --all-features -- -D warnings)
pre-commit run --all-files

update:
(cd nautilus_core && cargo update)
poetry update

clippy:
(cd nautilus_core && cargo clippy --all-targets --all-features -- -D warnings -W clippy::pedantic -W clippy::nursery -W clippy::unwrap_used -W clippy::expect_used)

cargo-build:
(cd nautilus_core && cargo build --release --all-features)

cargo-update:
(cd nautilus_core && cargo update)

Expand All @@ -43,10 +50,6 @@ cargo-test:
cargo-test-arm64:
(cd nautilus_core && cargo test --features extension-module)

update:
(cd nautilus_core && cargo update)
poetry update

docker-build: clean
docker pull ${IMAGE_FULL} || docker pull ${IMAGE}:develop || true
docker build -f .docker/nautilus_trader.dockerfile --platform linux/x86_64 -t ${IMAGE_FULL} .
Expand Down
26 changes: 19 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ For MacBook Pro M1/M2, make sure your Python installed using pyenv is configured

PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install <python_version>

See https://pyo3.rs/v0.17.3/getting_started#virtualenvs.
See https://pyo3.rs/latest/getting_started#virtualenvs.

It's possible to install from source using `pip` if you first install the build dependencies
as specified in the `pyproject.toml`. However, we highly recommend installing using [poetry](https://python-poetry.org/) as below.
Expand Down Expand Up @@ -242,9 +242,21 @@ The container images can be pulled as follows:
docker pull ghcr.io/nautechsystems/<image_variant_tag>
**NautilusTrader is not currently functional when run under JupyterLab, with logging enabled.
The backtest example in the `examples/backtest_example.ipynb` hangs indefinitely shortly after starting.
The cause of this is still being determined.**
You can launch the backtest example container by running:
docker pull ghcr.io/nautechsystems/jupyterlab:develop
docker run -p 8888:8888 ghcr.io/nautechsystems/jupyterlab:develop
| :warning: WARNING |
|:--------------------------------------------------------------------------------|
**NautilusTrader currently exceeds the rate limit for Jupyter notebook logging (stdout output),
this is why `log_level` in the examples is set to "ERROR". If you lower this level to see more
logging then the notebook will hang during cell execution. A fix is currently
being investigated which involves either raising the configured rate limits for
Jupyter, or throttling the log flushing from Nautilus.**
https://github.com/jupyterlab/jupyterlab/issues/12845
https://github.com/deshaw/jupyterlab-limit-output
## Minimal Strategy
Expand Down Expand Up @@ -350,7 +362,7 @@ class EMACross(Strategy):
## Development

We aim to provide the most pleasant developer experience possible for this hybrid codebase of Python, Cython and Rust.
Please refer to the [Developer Guide](https://docs.nautilustrader.io/developer_guide/index.html) for helpful information.
Refer to the [Developer Guide](https://docs.nautilustrader.io/developer_guide/index.html) for helpful information.

## Contributing

Expand All @@ -359,11 +371,11 @@ the project. If you have an idea for an enhancement or a bug fix, the first step
on GitHub to discuss it with the team. This helps to ensure that your contribution will be
well-aligned with the goals of the project and avoids duplication of effort.

Once you're ready to start working on your contribution, please make sure to follow the guidelines
Once you're ready to start working on your contribution, make sure to follow the guidelines
outlined in the [CONTRIBUTING.md](https://github.com/nautechsystems/nautilus_trader/blob/develop/CONTRIBUTING.md) file. This includes signing a Contributor License Agreement (CLA)
to ensure that your contributions can be included in the project.

Please note that all pull requests should be made to the `develop` branch. This is where new features
Note that all pull requests should be made to the `develop` branch. This is where new features
and improvements are integrated before being released to the public.

Thank you again for your interest in Nautilus Trader! We look forward to reviewing your contributions and working with you to improve the project.
Expand Down
27 changes: 24 additions & 3 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
# NautilusTrader 1.167.0 Beta

Released on 28th January 2023 (UTC).

### Breaking Changes
- Rename `OrderBookData.update_id` to `sequence`
- Rename `BookOrder.id` to `order_id`

### Enhancements
- Introduce Rust pyo3 based `ParquetReader` and `ParquetWriter`, thanks @twitu
- Added `msgbus.is_subscribed` (to check if topic and handler already subscribed)
- Simplified message type model and introduce CQRS-ish live messaging architecture

### Fixes
- Fixed Binance data clients order book startup buffer handling
- Fixed `NautilusKernel` redundant initialization of event loop for backtesting, thanks @limx0
- Fixed `BacktestNode` disposal sequence
- Fixed quick start docs and notebook

---

# NautilusTrader 1.166.0 Beta

Released on 17th January 2023 (UTC).
Expand Down Expand Up @@ -210,7 +231,7 @@ Released on 3rd November 2022 (UTC).
### Breaking Changes
- Added `LiveExecEngineConfig.reconcilation` boolean flag to control if reconciliation is active
- Removed `LiveExecEngineConfig.reconciliation_auto` (unclear naming and concept)
- All Redis keys have changed to a lowercase convention (please either migrate or flush your Redis)
- All Redis keys have changed to a lowercase convention (either migrate or flush your Redis)
- Removed `BidAskMinMax` indicator (to reduce total package size)
- Removed `HilbertPeriod` indicator (to reduce total package size)
- Removed `HilbertSignalNoiseRatio` indicator (to reduce total package size)
Expand Down Expand Up @@ -1199,7 +1220,7 @@ Released on 18th July 2021.
This release introduces a major re-architecture of the internal messaging system.
A common message bus has been implemented which now handles all events via a
Pub/Sub messaging pattern. The next release will see all data being handled by
the message bus, please see the related issue for further details on this enhancement.
the message bus, see the related issue for further details on this enhancement.

Another notable feature is the introduction of the order 'in-flight' concept,
which is a submitted order which has not yet been acknowledged by the
Expand Down Expand Up @@ -1381,7 +1402,7 @@ https://cython.readthedocs.io/en/latest/src/userguide/pyrex_differences.html?hig

It has been found that adding `inline` to method signatures makes no difference
to the performance of the system - and so they have been removed to reduce
'noise' and simplify the codebase. Please note that the use of `inline` for
'noise' and simplify the codebase. Note that the use of `inline` for
module level functions will be passed to the C compiler with the expected
result of inlining the function.

Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

At NautilusTrader, we take security seriously and appreciate your efforts in
helping us identify and fix any vulnerabilities. If you have discovered a
security vulnerability, please follow the guidelines outlined below.
security vulnerability, follow the guidelines outlined below.

## Responsible Disclosure
We encourage responsible disclosure of any security vulnerabilities you may
discover. If you believe you have found a security vulnerability in our platform,
please email us at [email protected]. We ask that you provide us with a
email us at [email protected]. We ask that you provide us with a
reasonable amount of time (at least one week) to fix the issue before
disclosing it publicly.

Expand Down
Loading

0 comments on commit f95e3c7

Please sign in to comment.