Skip to content
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

Useless #523

Open
luisivanhr opened this issue Sep 30, 2024 · 8 comments
Open

Useless #523

luisivanhr opened this issue Sep 30, 2024 · 8 comments

Comments

@luisivanhr
Copy link

The implementation of this library is utter shit. I have been trying for days to install this package and it keeps throwing so many errors with SWIG, C++ compilers and missing development headers. So sad that for such an awesome set of tools the implementation is so poor and outdated. Could we get a decent build of this library anytime soon?

@Stuchbery
Copy link

I went as far as trying to install tick on fresh installation of ubuntu 24.04.1 virtual machine. Still no dice, run in to the same issues.

@Mbompr
Copy link
Contributor

Mbompr commented Oct 3, 2024

This library is not in a great shape for two reasons:

  1. It has been 5 years now since I have not worked with Hawkes processes, hence a much much smaller involvement. Since then @PhilipDeegan has held the project together, maintaining it in the best possible state, and we should be grateful to him. You can give him a hand by following this thread: Updated wheel release mechanism #511
  2. This library had been written to maximize its performances and we had too much disregarded the maintainability aspects (hence all the SWIG issues), on the long run that was a mistake.

@PhilipDeegan
Copy link
Member

if you look at this branch and at the github workflow files, you should be able to build this yourself

https://github.com/PhilipDeegan/tick/blob/releases/.github/workflows/build_nix.yml#L40-L66

The reason why this PR is not merged, is that there are test failures which I am not equipped to fix, otherwise things should work for you

@Stuchbery
Copy link

I didn't delve into fixing the build files myself but I did eventually get the library to run in a VM using ubuntu-18.04.6 (bionic beaver) with swig and python3.6.

@PhilipDeegan
Copy link
Member

@Stuchbery that's one way of doing it, but python3.6 is EOL so you'll likely have other issues too

@statisticallyinsignificant1
Copy link

statisticallyinsignificant1 commented Oct 4, 2024

@PhilipDeegan Hey man, first off thanks for maintaining this in your branch. I have a quick question; I can compile everything fine with no errors but when I try to import a package I get the following error:

 File ~/opt/anaconda3/envs/mainenv/lib/python3.11/site-packages/tick-0.7.0.2-py3.11-macosx-11.1-arm64.egg/tick/tick_cpp/__init__.py:1
    from .tick_cpp import *

ModuleNotFoundError: No module named 'tick.tick_cpp.tick_cpp'

@PhilipDeegan
Copy link
Member

PhilipDeegan commented Oct 4, 2024

it looks like you're installed it inside your site-packages directory for python

I haven't verified that actually works yet given the state of the open PR.

when you built it from source, you should just be able to run it from that directory

python3 -c "import tick.tick_cpp; print(dir(tick.tick_cpp))"
['A0', 'AdaGradDouble', 'AdaGradDoubleDeserialize', 'AdaGradDoubleSerialize', ...

alternatively you can update your PYTHONPATH env var to point to your directory where you built tick

you should check if there's some libraries in the directory

~/opt/anaconda3/envs/mainenv/lib/python3.11/site-packages/tick-0.7.0.2-py3.11-macosx-11.1-arm64.egg/tick/tick_cpp

for me on windows atm I have the following, but it should be similar on linux or osx

ll tick/tick_cpp/
total 41401
-rw-r--r-- 1 lol 197121       25 Oct 27  2023 __init__.py
drwxr-xr-x 1 lol 197121        0 Oct  4 18:45 __pycache__/
-rwxr-xr-x 1 lol 197121 12206080 Oct  4 18:44 _tick_cpp.cp311-win_amd64.pyd*
-rw-r--r-- 1 lol 197121 12009962 Oct  4 18:44 _tick_cpp.exp
-rw-r--r-- 1 lol 197121 17719336 Oct 27  2023 _tick_cpp.lib
-rw-r--r-- 1 lol 197121   449038 Oct  4 18:42 tick_cpp.py

maybe you can copy these libraries to the site packages directory and it will work

@statisticallyinsignificant1

No libraries in that directory. I've tried a ton of different stuff, I think I'm over my head with this one lol... will try another package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants