-
Notifications
You must be signed in to change notification settings - Fork 117
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
pip install: discussion #1008
base: master
Are you sure you want to change the base?
pip install: discussion #1008
Conversation
The accepted practice for user-defined exceptions is to inherit Exception class, not BaseException. Currently, the Python code which tries to handle errors fails to catch any ArtmException.
This reverts commit 0dba0d2.
Reply originally by @ofrei (lost after my rebasing): @bt2901 This is a good plan! For bigartm-cli, I think it can be distributed as a separate binary - i.e. doesn't need to be part of pip. Users can continue using an old bigartm-cli to build the co-occurrences dictionary, or you could later include this functionality in python api . Either way, I wouldn't bother about bigartm-cli in this change - it's way more important to make pip install work. P.S. let me know if you want to discuss over Skype/Zoom - let's try to involve @MelLain and @MichaelSolotky as well. |
Updates:
Installing the developer version and/or building from the source is possible. If you want to compile the C++ core:
Otherwise, you could install BigARTM with If you work with Python interface only, then you probably don't need to re-build the library. To make/test such changes:
|
This project is still heavily WIP, but I thought you guys should be aware of what is happening. Also, I have some questions/issues I want to discuss.
So, the idea is to use
cibuildwheel
to make wheels with pre-built dependencies using Travis (then one can upload them to PyPI automatically or manually). This means many things:$TRAVIS_COMMIT_MESSAGE
environment variable. We can add the following logic: if$TRAVIS_COMMIT_MESSAGE
contains substring like[core-changes]
, then rebuild and run every test; otherwise just grabbing a pre-builtlibartm
and running Python tests is enough.Second, I heavily modified
setup.py
to allow it to control the execution ofcmake
and other stuff. Some changes are very Travis-specific (main concern is about paths. Overall it is not scary, just annoying). I'm not sure if it is still possible to install locally (I see two cases here: (1) cloning repository and building the library from source, and (2) making and testing changes in Python API without re-building the library).Finally, do we want to also distribute
bigartm-cli
via pip? Most notably, it is needed to build the co-occurrences dictionary.