{"id":21717,"library":"pulsar-galaxy-lib","title":"Pulsar Galaxy Lib","description":"Distributed job execution application built for Galaxy (http://galaxyproject.org/). Current version 0.15.14. Release cadence irregular; minor versions every few months.","status":"active","version":"0.15.14","language":"python","source_language":"en","source_url":"https://github.com/galaxyproject/pulsar","tags":["galaxy","distributed","job-execution","pulsar","bioinformatics"],"install":[{"cmd":"pip install pulsar-galaxy-lib","lang":"bash","label":"Default install from PyPI"}],"dependencies":[],"imports":[{"note":"Import from pulsar.app, not top-level pulsar","wrong":"from pulsar import ManagerApp","symbol":"ManagerApp","correct":"from pulsar.app import ManagerApp"},{"note":"Import from pulsar.client submodule","wrong":"from pulsar import PulsarClient","symbol":"PulsarClient","correct":"from pulsar.client import PulsarClient"},{"note":"Full import path from pulsar.server","wrong":"pulsar.PulsarServer","symbol":"PulsarServer","correct":"from pulsar.server import PulsarServer"}],"quickstart":{"code":"from pulsar.client import PulsarClient\n\nclient = PulsarClient('http://localhost:8913', private_token='secret')\n# Submit a simple job\nclient.submit_job({\n    'command_line': 'echo hello',\n    'tool_id': 'echo_tool',\n    'inputs': {},\n    'outputs': {},\n    'output_collections': []\n})","lang":"python","description":"Create a Pulsar client and submit a basic job."},"warnings":[{"fix":"Configure app['redis_url'] or app['database_url'] in the app config.","message":"Pulsar requires a Redis or database backend for job management. Without it, jobs may not persist or recover.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure tokens are identical on client and server side.","message":"The 'private_token' must match the server's 'private_token' config. Mismatch leads to 403 errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Update to latest version and set 'cleanup_jobs = always' in the manager config.","message":"When using DRMAA or Condor, job cleanup may leave orphaned processes if not configured properly (see 0.15.13 changelog).","severity":"gotcha","affected_versions":">=0.15.13"},{"fix":"pip install pulsar-galaxy-lib (not 'pulsar')","message":"The library 'pulsar-galaxy-lib' on PyPI is separate from the 'pulsar' package. Install the correct one.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"pip uninstall pulsar && pip install pulsar-galaxy-lib","cause":"Installed wrong package (e.g., 'pulsar' not 'pulsar-galaxy-lib').","error":"ImportError: No module named 'pulsar'"},{"fix":"Verify the server's 'private_token' in config and pass the same token to PulsarClient.","cause":"private_token mismatch between client and server.","error":"pulsar.client.PulsarClientError: 403 Forbidden"},{"fix":"Set app['redis_url'] = 'redis://localhost:6379/0' or app['database_url'] = 'sqlite:///pulsar.db'.","cause":"No Redis or database URL configured in app object.","error":"pulsar.app.ManagerApp requires a valid persistence backend"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}