Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
… into maxwell_gpio
  • Loading branch information
DailyDreaming committed Dec 6, 2023
2 parents c98785e + c758b47 commit ef44afc
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 97 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11"] # add this back later: , "3.12"
runs-on: [ubuntu-latest, macos-latest, windows-latest]
experimental: [false, false, true]

Expand All @@ -39,7 +39,7 @@ jobs:
allow-prereleases: true

- name: Install package
run: python -m pip install .[test]
run: python -m pip install .[dev]

- name: Test package
run: >-
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ python:
- method: pip
path: .
extra_requirements:
- docs
- dev
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,22 @@ pip install --force-reinstall git+https://github.com/braingeneers/braingeneerspy

You can install `braingeneerspy` with specific optional dependencies based on your needs. Use the following command examples:

- Install with IoT, analysis, and data access functions (skips machine learning and lab-specific dependencies):
- Install with machine-learning dependencies:

```bash
pip install "braingeneers[iot,analysis,data]"
pip install "braingeneers[ml]"
```

- Install with Hengen lab dependencies:

```bash
pip install "braingeneers[hengenlab]"
```

- Install with developer dependencies (running tests and building sphinx docs):

```bash
pip install "braingeneers[dev]"
```

- Install with all optional dependencies:
Expand All @@ -53,7 +65,7 @@ pip install "braingeneers[all]"

## Committing Changes to the Repo

To make changes and publish them on GitHub, please refer to the [CONTRIBUTING.md](https://github.com/braingeneers/braingeneerspy/blob/development/.github/CONTRIBUTING.md) file for up-to-date guidelines.
To make changes and publish them on GitHub, please refer to the [CONTRIBUTING.md](https://github.com/braingeneers/braingeneerspy/blob/master/.github/CONTRIBUTING.md) file for up-to-date guidelines.

## Modules and Subpackages

Expand Down
64 changes: 27 additions & 37 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ build-backend = "hatchling.build"
[project]
name = "braingeneers"
authors = [
{ name = "Braingeneers", email = "[email protected]" },
{ name = "UCSC Braingeneers", email = "[email protected]" },
]
maintainers = [
{ name = "David", email = "[email protected]" },
{ name = "Alex", email = "[email protected]" },
{ name = "Lon", email = "[email protected]" },
]
description = "Braingeneers Python utilities"
readme = "README.md"
Expand All @@ -27,12 +32,25 @@ classifiers = [
]
dynamic = ["version"]
dependencies = [
"typing_extensions >=4.6; python_version<'3.11'",
'deprecated',
'requests',
'numpy',
'tenacity',
'boto3',
'awswrangler==3.*',
'boto3',
'braingeneers-smart-open==2023.10.6',
'deprecated',
'h5py',
'matplotlib',
'nptyping',
'numpy',
'paho-mqtt',
'pandas',
'powerlaw',
'redis',
'requests',
'schedule',
'scipy>=1.10.0',
'tenacity',
"typing_extensions>=4.6; python_version<'3.11'",
'diskcache',
'pytz'
]

[tool.hatch.build.hooks.vcs]
Expand All @@ -43,35 +61,9 @@ local_scheme = "no-local-version"

[project.optional-dependencies]
all = [
'braingeneers[data]',
'braingeneers[analysis]',
'braingeneers[ml]',
'braingeneers[iot]',
'braingeneers[hengenlab]',
'braingeneers[test]',
'braingeneers[docs]',
]
data = [
'h5py',
'braingeneers-smart-open==2023.10.6', # 'smart_open>=5.1.0', the hash version fixes the bytes from-to range header issue.
'awswrangler==3.*',
'pandas',
'nptyping',
'paho-mqtt'
]
iot = [
'redis',
'schedule',
'paho-mqtt'
]
analysis = [
'scipy>=1.10.0',
'pandas',
'powerlaw',
'matplotlib',
# Both of these dependencies are required for read_phy_files
'awswrangler==3.*',
'braingeneers-smart-open==2023.10.6', # 'smart_open>=5.1.0', the hash version fixes the bytes from-to range header issue.
'braingeneers[dev]',
]
ml = [
'torch',
Expand All @@ -80,11 +72,9 @@ ml = [
hengenlab = [
'neuraltoolkit==0.3.1', # channel mapping information
]
test = [
dev = [
"pytest >=6",
"pytest-cov >=3",
]
docs = [
"sphinx>=4.0",
"myst_parser>=0.13",
"sphinx_book_theme>=0.1.0",
Expand Down
54 changes: 0 additions & 54 deletions src/braingeneers/utils/configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,60 +13,6 @@
CURRENT_ENDPOINT = None
_open = None # a reference to the current smart_open function that is configured this should not be used directly

"""
Define all groups of dependencies here. `minimal` dependencies are always installed with
the braingeneerspy package, all other groups of dependencies will be installed
braingeneerspy[all] or braingeneerspy[specific_dependency_group]
Maintainers are encouraged to move dependencies to specific dependency groups and keep
`minimal` as small as possible. `minimal` would typically be used in a RaspberryPI
environment for example, where large dependencies can be very slow to build.
"""
DEPENDENCIES = {
# Minimal dependencies are always installed with a pip install of the repo
'minimal': [
'deprecated',
'requests',
'numpy',
'tenacity',
# 'sortedcontainers',
'boto3',
'joblib>=1.3.0,<2',
'braingeneers_smart_open', # 'smart_open>=5.1.0', the hash version fixes the bytes from-to range header issue.
'awswrangler==3.*',
],
'data': [
'h5py',
'pandas',
'nptyping',
'paho-mqtt',
],
# Specific dependency groups allow unnecessary (and often large) dependencies to be skipped
# add dependency groups here, changes will be dynamically added to setup(...)
'iot': [
# 'awsiotsdk==1.6.0', # dependency issues occur when the current version is installed, that may be resolvable
'redis',
'schedule',
'paho-mqtt',
'diskcache',
'pytz',
'tzlocal',
],
'analysis': [
'scipy>=1.10.0',
'pandas',
'powerlaw',
'matplotlib',
],
'ml': [
'torch',
'scikit-learn',
],
'hengenlab': [
'neuraltoolkit @ git+https://github.com/hengenlab/neuraltoolkit.git', # channel mapping information
],
}


def get_default_endpoint() -> str:
"""
Returns the current default (S3) endpoint. By default this will point to the standard
Expand Down

0 comments on commit ef44afc

Please sign in to comment.