-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify install #472
Simplify install #472
Conversation
init-db.sh requires psql to be available. Replacing it with a Python script that uses psycopg relaxes this requirement.
gulp-sass depends on the deprecated node-sass which requires Python 2 to install. This replacement doesn't depend on node-sass.
Use poetry for dependency management. Removes old pip freeze requirement files. Adds a conda environment.yml file. Updates installation and configuation documentation. Replaces gulp-sass with a fork that doesn't depend on the deprecated node-sass which is now problematic to install.
dask>=2.16.0 set the default multiprocessing context to spawn which doesn't play nice with loading Django models. This explicitly set the context back to the former default "fork". Fixes #454.
mypy, flake8, black
Removed references to removed requirements files from GitHub actions. Added poetry. Docs instruct contributors to install poetry. Updated CHANGELOG.md.
Currently vaex is only used to write out arrow files which is provided by the sub-package vaex-arrow. Turned on arrow file output for the basic association test.
c599777
to
e8811f1
Compare
We should make sure the test-suite uses this same Docker image. It should be fairly straightforward, just point the docker-compose to your Docker image, rather than the Dockerfile (which we can then remove) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only have a few questions really, otherwise it looks a lot cleaner!
Thanks! I missed that. Fixed in cc5447b. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a question on the installation doc, after that I would be happy to approve this.
Co-authored-by: Adam Stewart <[email protected]>
I went over the installation and configuration documentation and have attempted to simplify things for users. The main changes are:
init-tools/init-db.sh
script with a Python version that usespsycopg2
. The original shell script requiredpsql
to be installed which is now no longer required.gulp-sass
with a fork that doesn't depend on the deprecatednode-sass
package which is difficult to install as it requires Python 2.pyproject.toml
. This file is maintained with Poetry. There are several advantages, including: able to specify more flexible version rules (e.g. any release with the same major version); all dependencies can be specified in the same file yet still be grouped (e.g. dev, production); this is still transparent to the user - modern pip versions know what to do withpyproject.toml
and will temporarily install poetry during thepip install .
process; thepoetry.lock
file contains exact pinned versions so users can be sure they always get a set of dependencies that work.requirements/environment.yml
for the non-Python dependencies. The docs encourage users to use this as it's simple and cross-platform, but also indicate they can still use OS package managers for these dependencies.vaex
withvaex-arrow
since we currently only use Vaex to write arrow files and the Vaex meta package includes a lot more than that.CREATE_MEASUREMENTS_ARROW_FILES = True
in the basic association test config so that the Vaex use is tested.