-
Notifications
You must be signed in to change notification settings - Fork 75
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
Publish bindings on pypi #19
Comments
This is an interesting alternative to PyPI, |
When our HTM is available on PyPI, I'll be able to simplify the install process for HTMcore (our HTM) NAB detector, and offer it to numenta/NAB for official score-board. |
...working on it.
|
Oh, I will be out-of-town for the next 5 days. I will be checking email but no coding. I will push what I have so far. I get to do the grandfatherly thing and build a tree house for my grandson :-) |
Actually if anyone with experience with this type of thing wants to help out on this the help would be appreciated. I am having to learn how to do this from scratch. |
Reference PR #573 |
great! glad you've managed to get it work! 👍
awesome, enjoy your time! And don't forget to (unit)test it. |
@dkeeney would you please look at:
|
setup.py uses CMake to create the htm.core library which is installed in /build/Release/lib. The python extensions are then statically linked to that and are put into the .whl along with the py code. The wheel along with lib, include, and bin from /build/Release go into the GitHub package. So, only the GitHub package contains the htm.core library. The wheel contains the py extensions. |
does it mean that all I need to run binary nupic is in the |
That is all you need to run with python. It is the extensions and the .py code. It does not contain the C++ parts like the htm.core library or include files. |
I'll test that, IMHO it must contain some form of the |
I have into another error, unsupported arch?
it fails with
I'm on ubuntu 64b, with py3. |
the CI is using py3.7, wonder if that's the problem and it is so sensitive? |
runs nicely! But currently only for Linux host. Reported upstream: Let's see, alternatively we can use |
@dkeeney my test.pypi.org has trouble registering project
|
Oh, I should have known that might cause a conflict. |
one step done, that is working! Now a new problem,
seems the platform is encoded in the package name, so we'll have to change that correctly. |
In parallel we could start with this.
TODO: fix for other platforms, see #19 (comment) |
yes, that is the bug I looked into some time back. Binary wheels cannot be made for linux in general because they cannot be guaranteed to work. The work-around was to build on a version of linux that is older (or as old) as anyone that would currently use it. There is a different syntax for the platform tag that contains the date of that OS. Could not find a link to the issue or PR where I reported it. |
yes, I remember, this is the
|
Our setu.py will need some work. I'm failing already on the first step: |
Two interesting guides on publishing: |
@breznak sorry I did not get back right away....life getting in the way. Now I just need to figure out how to run the py tests. |
Update:
Now I'm trying to figure if |
I think the wheel files replace the egg. So do we need to create the eggs? |
yep, we should use only wheels:
|
The linux pypi package will be a pain,
On the possitive side, |
I have been thinking how we deal with the "common baseline" for Linux -
|
YES 🎉 we have PYPI release! |
we have a first PYPI release! at I follow the install instructions: but getting an error
Note, I also tried CC @dkeeney |
Ah, that might be because pip's got an aggressive caching strategy and it's not being managed properly. Can you check what it shows with |
Sure, thanks for the hint, @pradyunsg !
seems the package exists on PyPI and
Looks like my local machine (Ubuntu LTS, x64) does not match any of the signatures?
Notice my hack, should it not pass? But the CI build image actually matches my system (OS Ubuntu 18.04, gcc 8.3, 64bit), libstdc++ is statically linked. |
Ok, I figured this!
the CI package is compiled with OT: @pradyunsg maybe pip could be more verbose on which condition was not met? So the workaround would be to compile in CI with a least possible py3 version. |
|
#1
Depends on binary releases #361
Use this as an example RedFT/Hexy@ddc9d01
whl
is published on PYPIwhl
content so we have all needed files therepip install my.whl
The text was updated successfully, but these errors were encountered: