pytorch / torchchat

Run PyTorch LLMs locally on servers, desktop and mobile
BSD 3-Clause "New" or "Revised" License
3.31k stars 211 forks source link

Add changelog generation, releases, publish pypi package #1267

Open nongrata081 opened 2 weeks ago

nongrata081 commented 2 weeks ago

🚀 The feature, motivation and pitch

Alternatives

No response

Additional context

No response

RFC (Optional)

No response

Jack-Khuu commented 1 week ago

Thanks for the suggestions @nongrata081, you've hit on many of the things that I've been meaning to do (or bug others to add)

generated changelog

releases

Definitely something we plan to do when we start doing regular releases. Since we're still aggressively making changes we haven't been creating milestones, but it is in the plans.

pip install as a pypi package

This is something that we're interested in, but haven't gotten around to (you actually found our placeholder pypi listing)

nongrata081 commented 1 week ago

@Jack-Khuu awesome! Would love to help. Please let me know if you think this is something I might have a look into?

Jack-Khuu commented 1 week ago

We would more than appreciate the help!!

If you want to give spinning up a pyproject a shot, please do!! (feel free to open up an issue if you run into any blockers or questions)

nongrata081 commented 1 week ago

I've done some work on the commit to add changelog generation

Here are:

I added 4 git tags in order to categorize all commits by months when they were created. I suggest to use semantic versions for this purpose further on (e.g. v0.1.0, v1.0.0, etc).

Here is also my suggestion to shape the Release Strategy. I can create few releases in my forked repo following it to showcase.

I didn't group commits by commit types as here, since in order to do that we'd have to have all commits formatted according to conventional commits format. We can introduce it with commitizen (a cli prompt for easy commiting according to the format). We can also configure both commit types in the cli-prompt and categories of commits in the CHANGELOG.md according to the preference.

As for packaging and dependency management I thought of poetry. Example: dspy pyproject.toml

@Jack-Khuu what you think?

Jack-Khuu commented 1 week ago

Thanks for the links! I'll try to take a look before the weekend

Jack-Khuu commented 1 day ago

Pardon the delay, I've been OOO (still am). Will take a look when I get back to office (Monday)

Thanks again for the contributions!!