Coder Social home page Coder Social logo

yapsy's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yapsy's Issues

Please port to Python3.12

Hi,
Debian has packaged yapsy. We try to migrate to Python3.12. When testing yapsy
with Python3.12 in our CI it fails with:

testActivationAndDeactivation (test.test_SimplePlugin.SimpleTestCase.testActivationAndDeactivation)
Test if the activation procedure works. ... Unable to import plugin: /builds/python-team/packages/yapsy/debian/output/source_dir/test/plugins/SimplePlugin
Traceback (most recent call last):
  File "/builds/python-team/packages/yapsy/debian/output/source_dir/yapsy/PluginManager.py", line 518, in loadPlugins
    candidate_module = PluginManager._importModule(plugin_module_name, candidate_filepath)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builds/python-team/packages/yapsy/debian/output/source_dir/yapsy/PluginManager.py", line 584, in _importModule
    candidate_module = imp.load_module(plugin_module_name,plugin_file,candidate_filepath+".py",("py","r",imp.PY_SOURCE))
                                                                                                         ^^^^^^^^^^^^^
AttributeError: type object 'Loader' has no attribute 'PY_SOURCE'
FAIL
...

You can find the full log in our CI.

It would be great if you could port yapsy to Python3.12.

Kind regards
Andreas.

Request for maintainers

Hello Yapsy user/community,

Currently looking for yapsy user/community members if anyone can step up to become a maintainer for this project.

I want to take up the responsibility, but it would be great if additional folks can also join and support this project.

Please post your thoughts as comments below.

Regards,
Ameya

can't load plugins with relative imports anymore

My application stopped working with latest yapsy version, it throws error when loading plugin that uses relative import. This is working fine with older version

tree:
+ runme
+ plugins/
   + workflow.yapsy-plugin
   + workflow/
       + __init__.py
       + workflow.py

__init__.py contains:
from .workflow import Workflow

see attached reproducer which results in:

Actual Results:  
# ./runme
Unable to import plugin: /tmp/r2/plugins/workflow
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/yapsy/PluginManager.py", line 515, in loadPlugins
    candidate_module = PluginManager._importModule(plugin_module_name, candidate_filepath)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/yapsy/PluginManager.py", line 587, in _importModule
    spec.loader.exec_module(candidate_module)
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/tmp/r2/plugins/workflow/__init__.py", line 1, in <module>
    from .workflow import Workflow
ModuleNotFoundError: No module named 'workflow'

reproducer.tar.gz

PyPI Release

Now that Python 3.12 is officially released I am seeing errors with yapsy. One example is

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/yapsy/PluginManager.py", line 132, in <module>
    import importlib.abc.Loader as imp
ModuleNotFoundError: No module named 'importlib.abc.Loader'; 'importlib.abc' is not a package

These types of issues seem to be addressed in #11.

Can we get a new release to PyPI so that pip install grabs a version that supports Python 3.12? The last release was 27 July 2019.

Thanks.

module uses 'imp' which is deprecated in Python 3.12.x

When attempting to use yapsy module in python 3.12.x I get the following part of the stack trace showing that imp cannot be found since it was removed in Python 3.12

from yapsy.PluginManager import PluginManager

virtual_SIGFactoryMaker/lib/python3.12/site-packages/yapsy/PluginManager.py:134: in
import imp
E ModuleNotFoundError: No module named 'imp'

ConfigurablePluginManager example

Hi,

I tried to use ConfigurablePluginManager, but failed!

Can you provide a simple example showing how to use this PluginManager.
It would also be good to create examples for the other features to understand them better.

Maybe it's time to release a new version of Yapsy to PyPi?

Yapsy 1.12.2 does not work with Python 3.12 because of the use of distutils.
The fix was already merged in pull request #11 but is not released yet.
Now that Python 3.12 is released, Yapsy does not work.

Can we please have the latest code released so we can easily pip install the latest working version? :)

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.