Skip to content

Commit

Permalink
Merge pull request #17 from wsp-sag/dev
Browse files Browse the repository at this point in the history
Overhaul project structure
  • Loading branch information
bccheung authored Dec 20, 2024
2 parents 3778bad + 728663a commit 4441ea1
Show file tree
Hide file tree
Showing 106 changed files with 7,598 additions and 12,611 deletions.
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
balsa/_version.py export-subst
# SCM syntax highlighting
pixi.lock linguist-language=YAML linguist-generated=true
119 changes: 101 additions & 18 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ __pycache__/

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
Expand All @@ -20,13 +19,14 @@ lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
# setup.cfg
doc/_build
doc/_static
doc/_templates
MANIFEST
_version.py
rattler-build/output/

# PyInstaller
# Usually these files are written by a python script from a template
Expand All @@ -41,13 +41,17 @@ pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
Expand All @@ -56,6 +60,8 @@ coverage.xml
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
Expand All @@ -65,35 +71,112 @@ instance/
.scrapy

# Sphinx documentation
apidoc/_build/
docs/_build/

# PyBuilder
.pybuilder/
target/

# IPython Notebook
# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version
# IPython
profile_default/
ipython_config.py

# celery beat schedule file
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# dotenv
.env
# SageMath parsed files
*.sage.py

# virtualenv
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# IDEA project settings
.idea
# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/

# VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix

# VSCode settings
.vscode
# pixi environments
.pixi
*.egg-info
14 changes: 14 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"python.testing.pytestArgs": [
"tests"
],
"python.testing.unittestEnabled": true,
"python.testing.pytestEnabled": false,
"python.testing.unittestArgs": [
"-v",
"-s",
"./tests",
"-p",
"test_*.py"
]
}
2 changes: 0 additions & 2 deletions MANIFEST.in

This file was deleted.

30 changes: 10 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
# Balsa (wsp-balsa)

[![Conda Latest Release](https://anaconda.org/wsp_sap/wsp-balsa/badges/version.svg)](https://anaconda.org/wsp_sap/wsp-balsa)
[![Conda Last Updated](https://anaconda.org/wsp_sap/wsp-balsa/badges/latest_release_date.svg)](https://anaconda.org/wsp_sap/wsp-balsa)
[![Platforms](https://anaconda.org/wsp_sap/wsp-balsa/badges/platforms.svg)](https://anaconda.org/wsp_sap/wsp-balsa)
[![License](https://anaconda.org/wsp_sap/wsp-balsa/badges/license.svg)](https://github.com/wsp-sag/balsa/blob/master/LICENSE)

Balsa is a collection of functions and tools for Python to facilitate travel demand forecasting applications and analyses. It is designed to work the the “scientific stack” of Python, namely NumPy, Pandas, and Matplotlib; which are optimized for speed and usability. Most of balsa consists of standalone functions - for input/output, for analysis, etc. - as well as a few lightweight class-based data structures for specific applications.

## Documentation

Balsa documentation is available [here](https://wsp-sag.github.io/balsa/)
> [!IMPORTANT]
> As of v2.0, this package is imported using `wsp_balsa` instead of `balsa`
## Key features

Expand All @@ -23,29 +17,25 @@ Balsa is compatible with Python 3.7+

## Installation

> [!NOTE]
> **For TRESO v1.4 (and older) users:** TRESO is only compatible with the [`v0.6.1`](https://github.com/wsp-sag/balsa/releases/tag/v0.6.1) release of Balsa, which can only be installed directly from GitHub using `pip`.
### With `conda`
Balsa can be installed with the following command:

```batch
pip install wsp-balsa
```

Balsa can be installed with conda by running the following command:
or

```batch
conda install -c wsp_sap wsp-balsa
```

### With `pip`
### With `pip` directly from GitHub

Balsa can be installed directly from GitHub using `pip` by running the following command:

```batch
pip install git+https://github.com/wsp-sag/balsa.git
```

> **Windows Users:** It is recommended to install Balsa from inside an activated Conda environment. Balsa uses several packages (NumPy, Pandas, etc.) that will otherwise not install correctly from `pip` otherwise. For example:
```batch
C:\> conda activate base
(base) C:\> pip install git+https://github.com/wsp-sag/balsa.git
...
```
Empty file removed __init__.py
Empty file.
5 changes: 0 additions & 5 deletions balsa/__init__.py

This file was deleted.

Loading

0 comments on commit 4441ea1

Please sign in to comment.