diff --git a/MANIFEST.in b/MANIFEST.in index 32bede8f..b5bb9ca5 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,7 @@ include LICENSE include README.md +include requirements.txt +include requirements-dev.txt recursive-include tests * recursive-include phy/electrode/probes *.prb diff --git a/Makefile b/Makefile index d87178b7..e095c074 100644 --- a/Makefile +++ b/Makefile @@ -28,10 +28,10 @@ test-full: test test-apps coverage report --omit */phy/plot/gloo/* doc: - python tools/api.py && python tools/extract_shortcuts.py && python tools/plugins_doc.py + python3 tools/api.py && python tools/extract_shortcuts.py && python tools/plugins_doc.py build: - python setup.py sdist --formats=zip + python3 setup.py sdist --formats=zip upload: - python setup.py sdist --formats=zip upload + twine upload dist/* diff --git a/README.md b/README.md index 41f39c12..9fe51dad 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Phy provides two GUIs: ## What's new +* [7 Sep 2021] Release of phy 2.0 beta 5, with some install and bug fixes * [7 Feb 2020] Release of phy 2.0 beta 1, with many new views, new features, various improvements and bug fixes... @@ -33,15 +34,13 @@ Phy provides two GUIs: Phy requires a recent GPU and an SSD for storing your data (the GUI may be slow if the data is on an HDD). -1. Install the latest version of [Anaconda 64-bit with Python 3](https://www.anaconda.com/distribution/#download-section). +1. You need a recent Python distribution. 2. Open a terminal and type: ```bash -conda create -n phy2 python=3.7 pip numpy matplotlib scipy scikit-learn h5py pyqt cython pillow -y -conda activate phy2 pip install phy --pre --upgrade -# Only if you plan to use the Kwik GUI: +# If you plan to use the Kwik GUI, type the following without the leading hash # character: # pip install klusta klustakwik2 ``` @@ -52,6 +51,33 @@ cd path/to/my/spikesorting/output phy template-gui params.py ``` +### Dependencies + +For your information, here are the Python dependencies of phy (as found in `requirements.txt`): + +``` +phylib +mtscomp +numpy +matplotlib +scipy +h5py +dask +cython +pillow +colorcet +pyopengl +requests +qtconsole +tqdm +joblib +click +mkdocs +PyQtWebEngine +``` + + + ### Dealing with the error `ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidget` In some environments, you might get an error message related to QtWebEngineWidget. Run the command `pip install PyQtWebEngine` and try launching phy again. This command should not run if the error message doesn't appear, as it could break the PyQt5 installation. @@ -59,7 +85,7 @@ In some environments, you might get an error message related to QtWebEngineWidge ### Upgrading from phy 1 to phy 2 -* Do not install phy 1 and phy 2 in the same conda environment. +* Do not install phy 1 and phy 2 in the same Python environment. * It is recommended to delete `~/.phy/*GUI/state.json` when upgrading. @@ -97,7 +123,7 @@ template_gui("params.py") ## Credits -**phy** is developed and maintained by [Cyrille Rossant](http://cyrille.rossant.net). +**phy** is developed and maintained by [Cyrille Rossant](https://cyrille.rossant.net). * [International Brain Laboratory](https://internationalbrainlab.org) * [Cortex Lab (UCL)](https://www.ucl.ac.uk/cortexlab/) ([Kenneth Harris](https://www.ucl.ac.uk/biosciences/people/harris-kenneth) and [Matteo Carandini](https://www.carandinilab.net/)). diff --git a/phy/__init__.py b/phy/__init__.py index 2e271c28..0859c3ff 100644 --- a/phy/__init__.py +++ b/phy/__init__.py @@ -28,7 +28,7 @@ __author__ = 'Cyrille Rossant' __email__ = 'cyrille.rossant at gmail.com' -__version__ = '2.0b2.dev' +__version__ = '2.0b5' __version_git__ = __version__ + _git_version() diff --git a/requirements.txt b/requirements.txt index 2e273ccc..0743f6a4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,3 +15,4 @@ tqdm joblib click mkdocs +PyQtWebEngine diff --git a/setup.py b/setup.py index 0d80f8ef..e65eb1ff 100644 --- a/setup.py +++ b/setup.py @@ -38,10 +38,10 @@ def _package_tree(pkgroot): version = re.search(r"__version__ = '([^']+)'", f.read()).group(1) -with open('requirements.txt') as f: +filename = op.join(curdir, 'requirements.txt') +with open(filename, 'r') as f: require = [x.strip() for x in f.readlines() if not x.startswith('git+')] - # Only add PyQt5 dependency if it is not already installed in the conda environment. try: import PyQt5