astanin / python-tabulate

Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated from bitbucket.org/astanin/python-tabulate.
https://pypi.org/project/tabulate/
MIT License
2.16k stars 165 forks source link

Pypi package is stale #281

Open kotborealis opened 1 year ago

kotborealis commented 1 year ago

I've noticed that PyPi package is last updated at Oct 6 2022, and missing some useful fixes, like for #190.

@astanin could you publish a newer version when you have a chance? :)

kotborealis commented 1 year ago

Related, but not quite the same - #276

In that case, it's missing new features, and I'm talking about bugfixes.

eliegoudout commented 1 year ago

I also think it would be a great idea to release and push current revision as v0.9.1. For example, merging #221 closed 12 issues, but many people still use PyPi's version. 🙏

kotborealis commented 11 months ago

@astanin Bump :)

FelixSchwarz commented 11 months ago

I also think it would be a great idea to release and push current revision as v0.9.1.

May I suggest 0.10.0? (because a new release from master will remove support for Python <= 3.6) Otherwise +1 for a new release.

wabiloo commented 9 months ago

+1

boxed commented 8 months ago

@astanin Do you need some help in going through some backlog of issues here? Like merging PRs, fixing PRs before merge, and stuff?

Maybe we can find someone who can volunteer to do this work?

kotborealis commented 8 months ago

@astanin Do you need some help in going through some backlog of issues here? Like merging PRs, fixing PRs before merge, and stuff?

Maybe we can find someone who can volunteer to do this work?

I could volunteer myself :) But, of course, it's up to @astanin to decide who is trustworthy enough to help with maintenance.

By the way, I've tried to reach out to him via email but sadly got no response.

hugovk commented 8 months ago

I could help with some general packaging/release/automation things too.

wabiloo commented 7 months ago

Is it time to work on a fork? The inability to use a version with some of those fixes is blocking me, if only because I can't publish my own PyPi packages if the pyproject.toml contains dependencies pointing to git links...

kotborealis commented 7 months ago

To be honest, I've already published a fork at https://pypi.org/project/tabulated, but it's really not the best name for it because it looks like typosquatting :/ In my defense, I've commited some cosmetic stuff to make it better, like reformatting source code and fixing some pylint warnings. Maybe we could work out some other name, which won't be confusing but still understandable?

For example, the paperless was forked to paperless-ng, which was forked into paperless-ngx. Maybe tabulate-ng could work?

wabiloo commented 7 months ago

Good to know. From the documentation in your repo, usage is exactly the same once installed?

As for the name, I don't mind, but agree that something that makes it clear that it's a fork would be better...

kotborealis commented 7 months ago

usage is exactly the same once installed? Yeah, should be the same as this repo, as I've made no actual changes to the code.

wabiloo commented 7 months ago

Hi @kotborealis, I'm confused by something. I uninstalled tabulate, and installed yours instead (tabulated). Following that, the code refused to run, with error ModuleNotFoundError: No module named 'tabulate'. I changed the code to from tabulated import tabulate, but no luck there either...

Am I doing anything obviously wrong?

(I would have contacted you directly, but you don't seem to have allowed issues in your github repo...)

devdanzin commented 7 months ago

I uninstalled tabulate, and installed yours instead (tabulated). Following that, the code refused to run, with error ModuleNotFoundError: No module named 'tabulate'. I changed the code to from tabulated import tabulate, but no luck there either...

Installing tabulated with pip install tabulated into a freshly created Python 3.12 virtual environment works for me: import tabulate succeeds. Installing tabulate first, then pip uninstalling, then installing tabulated also works.

Can you reproduce in a freshly created virtual environment? How are you installing and uninstalling packages? What Python version are you using? Can you find a tabulate directory in any of the paths in sys.path?

wabiloo commented 7 months ago

I'm using poetry (which creates its own virtual environment) So I "poetry remove tabulate", then "poetry add tabulated", then "poetry install" (for good measure), and then run the code after "poetry shell"

And obviously, as soon as I re-try that, it starts working. Thanks @devdanzin, you seem to have made my brain sync back with the rest of my body!

kotborealis commented 7 months ago

Yeah, it's confusing because I totally forgot to change the name of the module itself, it's still tabulate: image So, it's an absolutely drop-in replacement 😅

devdanzin commented 7 months ago

I also volunteer for helping reviewing and merging PRs, triaging issues and proposing PRs to fix them, and generally taking care of chores when needed, either here or in a fork.

IMO, having tabulated as a installable version with latest code from this repo is already of great help and might let us wait a bit longer for feedback from @astanin. Ideally, we would get this repository and the associated PyPI package active again.

If we go with a full friendly fork, we must have clear goals for it.

I think merging docs and bug-fix PRs is the obvious step. Merging improvements to current features sounds good too. Adding backwards compatible new features might be best left for later, when/if we are clear there's no chance of getting the upstream repository active again. And adding breaking changes would be left for the far future.

Changes in code quality/formatting might make it harder to sync with upstream if the opportunity arises, but offer a nice improvement in Quality of Life while developing. It also makes merging existing PRs a bit harder, so we might want to merge first, format and lint later in a full fork.

If it comes to a fork, my vote would be to name it tabulate-ng, as it's a classic naming pattern for this kind of situation.

paulrougieux commented 7 months ago

pandas depends on tabulate https://github.com/pandas-dev/pandas/blob/41383cf140b8243613af8a9843448b54f2b3ffa8/requirements-dev.txt for the DataFrame.to_markdown() method https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_markdown.html @astanin what is your plan for the project?