diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/linux-conda.yml similarity index 92% rename from .github/workflows/python-package-conda.yml rename to .github/workflows/linux-conda.yml index 555d7f0..eac764c 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/linux-conda.yml @@ -9,7 +9,7 @@ on: branches: [ master ] jobs: - build-linux: + build-linux-conda: runs-on: ubuntu-latest strategy: max-parallel: 5 @@ -38,10 +38,9 @@ jobs: run: | mamba env update -n base --file environment.yml caimanmanager.py install - pip install "pandas==1.5.0rc0" pip install . - name: Test with pytest run: | - mamba install pytest DOWNLOAD_GROUND_TRUTHS=1 pytest -s . + diff --git a/.github/workflows/python-app.yml b/.github/workflows/linux-pip.yml similarity index 93% rename from .github/workflows/python-app.yml rename to .github/workflows/linux-pip.yml index 81017f5..0ff32cd 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/linux-pip.yml @@ -15,7 +15,7 @@ permissions: contents: read jobs: - build: + build-linux-pip: runs-on: ubuntu-latest @@ -41,8 +41,6 @@ jobs: - name: Install mesmerize-core run: | - pip install -r requirements.txt - pip install pytest pip install . - name: Test with pytest diff --git a/.github/workflows/macos-conda.yml b/.github/workflows/macos-conda.yml new file mode 100644 index 0000000..ae31845 --- /dev/null +++ b/.github/workflows/macos-conda.yml @@ -0,0 +1,46 @@ +name: MacOS Conda + +on: + pull_request: + branches: + - master + - dev + push: + branches: [ master ] + +jobs: + build-macos-conda: + runs-on: macos-latest + strategy: + max-parallel: 5 + + steps: + - uses: actions/checkout@v3 + - name: Set up Python '3.10' + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + + - name: Install mamba + run: | + conda install -c conda-forge mamba + conda clean -a + + # - name: install caiman + # run: | + # mamba install -c conda-forge caiman + + - name: install mesmerize-core + run: | + mamba env update -n base --file environment.yml + caimanmanager.py install + pip install . + + - name: Test with pytest + run: | + DOWNLOAD_GROUND_TRUTHS=1 pytest -s . + diff --git a/.github/workflows/conda-windows.yml b/.github/workflows/windows-conda.yml similarity index 94% rename from .github/workflows/conda-windows.yml rename to .github/workflows/windows-conda.yml index 87390fc..17925a3 100644 --- a/.github/workflows/conda-windows.yml +++ b/.github/workflows/windows-conda.yml @@ -9,7 +9,7 @@ on: branches: [ master ] jobs: - build: + build-windows: name: windows conda runs-on: "windows-latest" steps: @@ -35,6 +35,5 @@ jobs: conda activate mescore mamba install pytest caimanmanager.py install - pip install "pandas==1.5.0rc0" pip install . DOWNLOAD_GROUND_TRUTHS=1 pytest -s . diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..b91c9ef --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include mesmerize_core/VERSION + diff --git a/environment.yml b/environment.yml index 65e486b..15a889e 100644 --- a/environment.yml +++ b/environment.yml @@ -2,7 +2,13 @@ channels: - conda-forge dependencies: - caiman >= 1.9.10 - - pandas + - pandas >= 1.5.0 - requests - click + - jupyterlab + - tqdm + - pims + - psutil + - pytest - pydata-sphinx-theme + diff --git a/mesmerize_core/VERSION b/mesmerize_core/VERSION new file mode 100644 index 0000000..acbf640 --- /dev/null +++ b/mesmerize_core/VERSION @@ -0,0 +1 @@ +0.1.0b1 diff --git a/mesmerize_core/__init__.py b/mesmerize_core/__init__.py index 07b72f4..02f9674 100644 --- a/mesmerize_core/__init__.py +++ b/mesmerize_core/__init__.py @@ -5,6 +5,11 @@ create_batch, ) from .caiman_extensions import * +from pathlib import Path + + +with open(Path(__file__).parent.joinpath("VERSION"), "r") as f: + __version__ = f.read().split("\n")[0] __all__ = [ "set_parent_raw_data_path", diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..4d957ae --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "wheel"] + diff --git a/setup.py b/setup.py index dfd018d..563d9bd 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,53 @@ from setuptools import setup, find_packages +from pathlib import Path + + +install_requires = [ + "pandas>=1.5.0", + "pytest", + "requests", + "tqdm", + "numpy", + "matplotlib", + "click", + "psutil", + "pims", + "jupyterlab", +] + + +with open(Path(__file__).parent.joinpath("README.md")) as f: + readme = f.read() + +with open(Path(__file__).parent.joinpath("mesmerize_core", "VERSION"), "r") as f: + ver = f.read().split("\n")[0] + + +classifiers = \ + [ + "Programming Language :: Python :: 3", + "LICENSE :: OSI APPROVED :: APACHE SOFTWARE LICENSE", + "Operating System :: POSIX :: Linux", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows :: Windows 10", + "Topic :: Scientific/Engineering :: Bio-Informatics", + "Topic :: Scientific/Engineering :: Image Recognition", + "Topic :: Scientific/Engineering :: Information Analysis", + "Intended Audience :: Science/Research" + ] + setup( name="mesmerize-core", - version="0.0", + description="High level pandas-based API for batch analysis of Calcium Imaging data using CaImAn", + long_description=readme, + classifiers=classifiers, + version=ver, + install_requires=install_requires, packages=find_packages(), + include_package_data=True, url="https://github.com/nel-lab/mesmerize-core", - license="Apache", - author="Kushal Kolar, Arjun Putcha", + license="Apache-Software-License", + author="Kushal Kolar, Caitlin Lewis, Arjun Putcha", author_email="", - description="Mesmerize core backend", )