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

[WIP] setup.py and basic re-structuring #40

Closed
wants to merge 3 commits into from

Conversation

AlpinDale
Copy link
Member

This PR lightly re-structures the repository by moving the main modules to the tabbyapi directory. It also adds a setup.py and pyproject.toml for creating wheels/releases.

The setup.py automatically recognizes the GPU on the device and installs the appropriate requirements file - if no GPU is found (or cuda/hip is not installed), it'll fall back to the cpu file.

@Ph0rk0z
Copy link

Ph0rk0z commented Dec 27, 2023

Am enjoying not having any kind of setup, let alone installing this like a wheel. I just run start.sh and use my own environment that is shared.

@AlpinDale
Copy link
Member Author

AlpinDale commented Dec 27, 2023

@Ph0rk0z the start scripts won't be going anywhere. The plan here is to have a simple executable binary tabbyapi that can be called from anywhere as long as you're in the correct env. That should make it even easier than scripts. If you install the wheel in an env with shared dependencies, you can just pip install the wheel with --no-deps flag.

@Ph0rk0z
Copy link

Ph0rk0z commented Dec 27, 2023

That's true, it would still work that way. Mainly it's about the ease of doing git pulls and not having to do setup.

@bsima
Copy link

bsima commented Apr 6, 2024

Would love to have this merged. Having a proper build means I can use it on my nix system as a module/systemd service...

@AlpinDale
Copy link
Member Author

There's been a lot of internal changes here since I made this PR, so we need to remake this.

@bdashore3
Copy link
Member

@bsima you should already be able to use tabby in systemd by creating a service file and copying it over to /etc/systemd/system. At the moment, tabby has solidified itself as rolling release so proper versioning probably won't be a thing in the future.

I can provide an example .service file in the repo which should adhere to your usecase.

@bsima
Copy link

bsima commented Apr 8, 2024

I actually wrote a nix build for it this weekend that uses a modified pyproject.toml from the one on master. I want to get it tested and cleaned up a bit this week but then I'll share it here.

@bdashore3
Copy link
Member

Pyproject is already implemented. Closing this PR.

@bdashore3 bdashore3 closed this Sep 20, 2024
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

Successfully merging this pull request may close these issues.

4 participants