Skip to content

Commit

Permalink
Merge pull request #94 from hudson-and-thames/develop
Browse files Browse the repository at this point in the history
Release 0.8.1
  • Loading branch information
Michael Struwig authored Jul 26, 2023
2 parents 3601490 + c67d7f6 commit 093d6b2
Show file tree
Hide file tree
Showing 13 changed files with 267 additions and 177 deletions.
8 changes: 5 additions & 3 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
[bumpversion]
current_version = 0.8.0
commit = True
tag = True
current_version = 0.8.1
commit = False
tag = False
tag_name = {new_version}

[bumpversion:file:setup.cfg]

[bumpversion:file:docs/source/conf.py]

[bumpversion:file:obfuscate.sh]
29 changes: 27 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ workflows:
version: 2
main:
jobs:
- run_tests
- test-code
- test-docs

jobs:
run_tests:
test-code:
docker:
- image: circleci/python:3.8
steps:
Expand Down Expand Up @@ -39,3 +40,27 @@ jobs:
- store_artifacts:
path: test-reports

test-docs:
docker:
- image: circleci/python:3.8
steps:
- checkout
- run:
name: Install requirements
command: |
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
pip install -r docs/source/requirements.txt
- run:
name: Build documentation
command: |
. venv/bin/activate
make -C docs html
- run:
name: Run doctests
command: |
. venv/bin/activate
make -C docs doctest
61 changes: 34 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,44 @@
ArbitrageLab is a python library that enables traders who want to exploit mean-reverting portfolios
by providing a complete set of algorithms from the best academic journals.

## Documentation, Example Notebooks and Lecture Videos
For every technique present in the library we not only provide extensive documentation, with both theoretical explanations
and detailed descriptions of available functions, but also supplement the modules with ever-growing array of lecture videos and slides
on the implemented methods.

We want you to be able to use the tools right away. To achieve that, every module comes with a number of example notebooks
which include detailed examples of the usage of the algorithms. Our goal is to show you the whole pipeline, starting from
importing the libraries and ending with strategy performance metrics so you can get the added value from the get-go.

## Licensing options
This project is licensed under an all rights reserved [licence](https://github.com/hudson-and-thames/mlfinlab/blob/master/LICENSE.txt).
## Development

* Business
* Enterprise
### Creating a release

## Community
With the purchase of the library, our clients get access to the Hudson & Thames Slack community, where our engineers and other quants
are always ready to answer your questions.
- Create `release/<version>` branch
- Bump versions throughout source files (we use `bump2version` to do automate this process, TODO: Add instructions)
- Update customer install instructions in documentation source files
- Update release information in changelog in documentation source files
- Open PR from `release` branch into `develop`
- Merge PR once approved
- Obfuscate `develop` using PyArmor (instructions are located elsewhere in this README)
- Test you can install the wheel from a fresh environment
- Merge `develop` into `master`
- Upload the obfuscated wheel to the Hudson & Thames Clients organization
- Tag the commit with the version number
- Write a blog post announcing the release
- Send a newsletter email
- Post on social media

Alternatively, you can email us at: [email protected].
### Bumping version numbers using `bump2version`

<div align="center">
<a>
<img src="https://hudsonthames.org/wp-content/uploads/2021/11/header_github_ht.jpg" width="100%"
style="margin-left: auto; margin-right: auto; display:block;">
</a>
</div>
We use `bump2version` to automatically bump versions throughout source files.

Configuration lives in the `.bumpversion.cfg` file. To run `bump2version`, first install it via `pip`:

``` sh
pip install --upgrade bump2version
```

And then bump the version:

``` sh
bump2version <version-bump-type>
```

## Who is Hudson & Thames?
Hudson and Thames Quantitative Research is a company with the goal of bridging the gap between the advanced research developed in
quantitative finance and its practical application. We have created three premium python libraries so you can effortlessly access the
latest techniques and focus on what matters most: **creating your own winning strategy**.
where `<version-bump-type>` tells you which version to be bumped. The acceptable
values are `major`, `minor` or `patch`, conforming to the semantic versioning
pattern: `major.minor.patch`. For example, `3.2.7` has a major version of 3, a
minor version of 2 and a patch version of 7.

### What was only possible with the help of huge R&D teams is now at your disposal, anywhere, anytime.
7 changes: 5 additions & 2 deletions arbitragelab/util/segment.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,13 @@ def get_mac():
"""
Identify the device by MAC Address
"""
mac = getmac.get_mac_address()

mac = getmac.get_mac_address(os.environ.get("ARBLAB_MAC_INTERFACE"))
if mac is None:
raise Exception(" No MAC Address is found on this device, must have a MAC Address.")
raise ValueError("No MAC Address is found on this device, must have a MAC Address."
" If using a VPN, you might be able to resolve this by specifying"
" the correct interface manually using the PORTLAB_MAC_INTERFACE environment"
" variable.")

return mac

Expand Down
5 changes: 3 additions & 2 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ Changelog
* :feature:`50` Add a distutils command for marbles
* :bug:`58` Fixed test failure on OSX
..
For Help: https://releases.readthedocs.io/en/latest/index.html
* :release:`0.8.1 <2022-07-25>`
* :support:`91` Allow user to specify network interface for MAC address

* :release:`0.8.0 <2022-06-28>`
* :support:`78` Bump dependencies.

Expand Down
6 changes: 3 additions & 3 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
author = 'Hudson & Thames Quantitative Research'

# The full version, including alpha/beta/rc tags
release = '0.8.0'
release = '0.8.1'


# -- General configuration ---------------------------------------------------
Expand All @@ -34,8 +34,8 @@
'sphinx.ext.autodoc',
'sphinx.ext.coverage',
'sphinx.ext.intersphinx',
# 'sphinx.ext.viewcode',
'releases'
'sphinx.ext.doctest',
'releases',
]


Expand Down
Loading

0 comments on commit 093d6b2

Please sign in to comment.