Edgewall Software
Modify

Opened 4 years ago

Closed 2 years ago

#12270 closed task (fixed)

Upload released version of TracSpamFilter to PyPI

Reported by: Ryan J Ollos Owned by: Ryan J Ollos
Priority: normal Milestone: plugin - spam-filter
Component: plugin/spamfilter Version:
Severity: normal Keywords:
Cc: Dirk Stöcker, Matthew Good, trac@… Branch:
Release Notes:

SpamFilter published to PyPI.

API Changes:

Description (last modified by Ryan J Ollos)

The version of TracSpamFilter on PyPI is very out of date (0.2dev-r4489). Also, PyPI has deprecated support for linking from PyPI to another site that hosts the downloads, and the behavior will stop working soon.

I'll contact the Package Index Owner and see if I can get permission to upload a new release.

Attachments (0)

Change History (18)

comment:1 by Ryan J Ollos, 4 years ago

Previously mentioned in comment:3:ticket:12038.

comment:2 by Ryan J Ollos, 4 years ago

Cc: Dirk Stöcker added; stoecker removed

in reply to:  description comment:3 by Ryan J Ollos, 4 years ago

Cc: Matthew Good added

Replying to rjollos:

I'll contact the Package Index Owner and see if I can get permission to upload a new release.

I sent an email to mgood, and will follow-up if I don't hear from him within a few days.

comment:4 by Ryan J Ollos, 4 years ago

Owner: Ryan J Ollos removed
Status: assignednew

Still haven't heard anything back from mgood. I will investigate if it's possible to take over an unmaintained package on PyPI when the maintainer is unreachable.

comment:5 by Simon Fondrie-Teitler <trac@…>, 4 years ago

Cc: trac@… added

comment:6 by Simon Fondrie-Teitler, 4 years ago

Hey Ryan,

Were you able to get anywhere with contacting the maintainer or PyPi about taking over the package?

comment:7 by Ryan J Ollos, 4 years ago

Replying to Simon Fondrie-Teitler:

Hey Ryan,

Were you able to get anywhere with contacting the maintainer or PyPi about taking over the package?

I haven't received any response from the PyPI maintainer.

Last edited 4 years ago by Ryan J Ollos (previous) (diff)

comment:8 by Ryan J Ollos, 4 years ago

It would be nice to have the plugin on PyPI so that it has more visibility and can be easily installed. However, the plugin's absence for PyPI shouldn't be a burden to anyone. Rather than pip install tracspamfilter, you can just pip install svn+http://svn.edgewall.com/repos/trac/plugins/1.0/spam-filter.

The other way to resolve this issue would be to move SpamFilter to tracopt, which I tend to prefer. However that needs to be looked at closely, considering issues such as licensing of the TracSpamFilter's dependencies. I plan to eventually propose the change to the trac-dev mailing list when I have time to put together a thoughtful proposal.

in reply to:  7 ; comment:9 by Ryan J Ollos, 4 years ago

Replying to Ryan J Ollos:

Replying to Simon Fondrie-Teitler:

Hey Ryan,

Were you able to get anywhere with contacting the maintainer or PyPi about taking over the package?

I haven't received any response from the PyPI maintainer.

To fully reply to your question … From the requests I see on the sourceforge issue tracker for PyPI, it appears they don't hand over maintainership of a page on PyPI without a response from the author. It's very unfortunate if that's the case, because some packages will be doomed to remain stale on PyPI forever. We should look into that more closely.

comment:10 by Ryan J Ollos, 4 years ago

Coincidentally, I just saw a blog post about the PyPI replacement, named warehouse. Here is the Trac page on Warehouse. Looks nice.

in reply to:  8 comment:11 by Ryan J Ollos, 3 years ago

Milestone: plugin - spam-filter
Resolution: cantfix
Status: newclosed

Replying to Ryan J Ollos:

The other way to resolve this issue would be to move SpamFilter to tracopt, which I tend to prefer. However that needs to be looked at closely, considering issues such as licensing of the TracSpamFilter's dependencies. I plan to eventually propose the change to the trac-dev mailing list when I have time to put together a thoughtful proposal.

Proposed in #12398. I guess we aren't going to get the attention of mgood, so closing this ticket.

in reply to:  9 comment:12 by Ryan J Ollos, 3 years ago

Replying to Ryan J Ollos:

Replying to Ryan J Ollos:

Replying to Simon Fondrie-Teitler:

Hey Ryan,

Were you able to get anywhere with contacting the maintainer or PyPi about taking over the package?

I haven't received any response from the PyPI maintainer.

To fully reply to your question … From the requests I see on the sourceforge issue tracker for PyPI, it appears they don't hand over maintainership of a page on PyPI without a response from the author. It's very unfortunate if that's the case, because some packages will be doomed to remain stale on PyPI forever. We should look into that more closely.

PPE-541 proposes a process by which we might be able to reclaim TracSpamFilter on PyPI.

comment:13 by Ryan J Ollos, 3 years ago

Description: modified (diff)

comment:14 by Ryan J Ollos, 2 years ago

Resolution: cantfix
Status: closedreopened

I emailed Noah and he was able to get in touch with Matt, and Matt just added stoecker and I as package owners. I added cboos as a package owner well.

comment:15 by Ryan J Ollos, 2 years ago

Milestone: plugin - spam-filter
Owner: set to Ryan J Ollos
Status: reopenedassigned

Released TracSpamFilter 1.0.10 to PyPI: pypi:TracSpamFilter/1.0.10. Edited SpamFilter@125.

I'm considering how to handle release of TracSpamFilter 1.2.0, compatible with Trac 1.2+. We can make both 1.0.10 and 1.2.0 visible on PyPI, but 1.2.0 will be installed by default even for users of Trac 1.0.x. I'm not sure it would even help to put a Trac version requirement in setup.py, and anyway that has undesirable consequences: th:DevGuide#AssertMinimumTracVersionRequirement.

in reply to:  15 ; comment:16 by Christian Boos, 2 years ago

Replying to Ryan J Ollos:

I'm considering how to handle release of TracSpamFilter 1.2.0, compatible with Trac 1.2+. We can make both 1.0.10 and 1.2.0 visible on PyPI, but 1.2.0 will be installed by default even for users of Trac 1.0.x. I'm not sure it would even help to put a Trac version requirement in setup.py, and anyway that has undesirable consequences: th:DevGuide#AssertMinimumTracVersionRequirement.

Well, in Ruby you could write something like ~> 1.0 for your gem dependencies, meaning any version 1.0.x would be OK but not 1.1.0 or newer. It would be surprising that Python doesn't allow for something similar. Wouldn't Trac >= 1.0, < 1.1 for TracSpamFilter 1.0.10 and Trac >= 1.2, < 1.3.2 for TracSpamFilter 1.2.0 work?

in reply to:  16 comment:17 by Ryan J Ollos, 2 years ago

Replying to Christian Boos:

Wouldn't Trac >= 1.0, < 1.1 for TracSpamFilter 1.0.10 and Trac >= 1.2, < 1.3.2 for TracSpamFilter 1.2.0 work?

It has some negative side-effects.

I've put Trac 1.2, 1.0.10 and 1.2.0.dev1 on PyPI-test to evaluate the behavior.

TracSpamFilter 1.2.0dev has the following:

  • setup.py

     
    5555        'fonts/*',
    5656        'locale/*/LC_MESSAGES/*.mo'
    5757    ]},
    58     install_requires=['Trac'],
     58    install_requires=['Trac >= 1.2'],
    5959    extras_require={
    6060        'dns': ['dnspython>=1.3.5'],
    6161        'spambayes': ['spambayes'],

Installing TracSpamFilter to a virtualenv with Trac 1.0.13 upgrades the Trac installation:

$ pip freeze
appdirs==1.4.2
Genshi==0.7
...
Trac==1.0.13
$pip install -i https://testpypi.python.org/pypi TracSpamFilter
Collecting TracSpamFilter
  Using cached https://testpypi.python.org/packages/b8/81/69f96a988a87a117cfb0bb78d0c0ed87bc63b4df7be0c175f77427b8e941/TracSpamFilter-1.2.0.dev1-py2-none-any.whl
Collecting Trac>=1.2 (from TracSpamFilter)
  Downloading https://testpypi.python.org/packages/e6/6b/cb139fe11c7afd173cbb2725272cd3e9762d1397b11a4e87980dce60288a/Trac-1.2-py2-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 598kB/s 
Requirement already satisfied: setuptools>=0.6 in ./pve/lib/python2.7/site-packages (from Trac>=1.2->TracSpamFilter)
Requirement already satisfied: Genshi>=0.6 in ./pve/lib/python2.7/site-packages (from Trac>=1.2->TracSpamFilter)
Requirement already satisfied: six>=1.6.0 in ./pve/lib/python2.7/site-packages (from setuptools>=0.6->Trac>=1.2->TracSpamFilter)
Requirement already satisfied: packaging>=16.8 in ./pve/lib/python2.7/site-packages (from setuptools>=0.6->Trac>=1.2->TracSpamFilter)
Requirement already satisfied: appdirs>=1.4.0 in ./pve/lib/python2.7/site-packages (from setuptools>=0.6->Trac>=1.2->TracSpamFilter)
Requirement already satisfied: pyparsing in ./pve/lib/python2.7/site-packages (from packaging>=16.8->setuptools>=0.6->Trac>=1.2->TracSpamFilter)
Installing collected packages: Trac, TracSpamFilter
  Found existing installation: Trac 1.0.13
    Uninstalling Trac-1.0.13:
      Successfully uninstalled Trac-1.0.13
Successfully installed Trac-1.2 TracSpamFilter-1.2.0.dev1

The discussion in th:#9800 led to the recommendations in th:DevGuide#AssertMinimumTracVersionRequirement.

I tend to think we are better off not specifying the version in install_requires and letting users with Trac 1.0.x specify a TracSpamFilter version when installing from PyPI. That would be better than an unintentional Trac upgrade that can't be reverted once a user upgrades the database and can break an installation that relies on plugins that may not be compatible with the new version of Trac. I've seen several reports of this, and there are too many users that don't make a hotcopy backup before installing/upgrading plugins.

comment:18 by Ryan J Ollos, 2 years ago

Release Notes: modified (diff)
Resolution: fixed
Status: assignedclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Ryan J Ollos.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.