{"id":14576,"library":"fitz","title":"Fitz: Workflow Management for Neuroimaging","description":"Fitz is an extremely early development library (version 0.0.1.dev2) for managing complex workflows, particularly in the context of neuroimaging data analysis. It provides basic components like DAGs, Nodes, and Workflows. The project appears to be abandoned, with no active development for over two years.","status":"abandoned","version":"0.0.1.dev2","language":"en","source_language":"en","source_url":"https://github.com/kastman/fitz","tags":["workflow","neuroimaging","dag","abandoned"],"install":[{"cmd":"pip install fitz","lang":"bash","label":"Install Fitz"}],"dependencies":[],"imports":[{"symbol":"Workflow","correct":"from fitz.workflow import Workflow"},{"symbol":"Node","correct":"from fitz.node import Node"},{"symbol":"DAG","correct":"from fitz.dag import DAG"}],"quickstart":{"code":"import os\n\n# NOTE: This library is in an extremely early development stage (0.0.1.dev2)\n# and appears to be abandoned. The following example is derived from internal tests\n# and may not be functional or representative of a stable API.\n# It is NOT recommended for production use.\n\nfrom fitz.workflow import Workflow\nfrom fitz.node import Node\nfrom fitz.dag import DAG\n\n# Define simple nodes (tasks)\nclass SimpleNode(Node):\n    def __init__(self, name, func=None):\n        super().__init__(name)\n        self.func = func or (lambda: print(f\"Executing {name}\"))\n\n    def execute(self):\n        self.func()\n\n# Create nodes\nnode_a = SimpleNode('A')\nnode_b = SimpleNode('B')\nnode_c = SimpleNode('C')\n\n# Create a workflow and add nodes\nworkflow = Workflow('MyExampleWorkflow')\nworkflow.add_node(node_a)\nworkflow.add_node(node_b)\nworkflow.add_node(node_c)\n\n# Define dependencies (A -> B, A -> C)\nworkflow.add_edge(node_a, node_b)\nworkflow.add_edge(node_a, node_c)\n\nprint(f\"Workflow '{workflow.name}' created with nodes: {[n.name for n in workflow.nodes]}\")\nprint(f\"Edges: {workflow.dag.edges}\")\n\n# Attempt to run the workflow (functionality is limited and untested for general use)\n# For a real run, you'd likely need more complex node logic and an executor.\n# The project's tests suggest running tasks, but no clear 'workflow.run()' method exists at this level.\n# This is purely illustrative of structure.\nprint(\"\\n--- Attempting to show node execution order (conceptual) ---\")\nfor node in workflow.dag.topological_sort():\n    print(f\"Ready to execute: {node.name}\")\n    # node.execute() # Actual execution requires more setup than this quickstart provides\n","lang":"python","description":"This quickstart demonstrates the basic structure of creating `Nodes` and `Workflows` with dependencies using the `fitz` library. Due to its abandoned and extremely early development status, this example is derived from internal tests and is primarily conceptual. Actual execution logic for nodes and workflows is not robustly defined or easily runnable without deeper dive into the source code."},"warnings":[{"fix":"If you intend to use the PDF library, install `pymupdf` with `pip install pymupdf` and then `import fitz` in your code. If you truly wish to use this specific workflow library, be aware of its distinct identity and abandoned status.","message":"This `fitz` package (PyPI slug `fitz`) is *not* the popular PDF library PyMuPDF. PyMuPDF users commonly import it as `import fitz` after `pip install pymupdf`. This `fitz` package is an unrelated, abandoned neuroimaging workflow library, leading to severe confusion and unexpected behavior if mistaken for PyMuPDF.","severity":"breaking","affected_versions":"All versions (0.0.1.dev2 and earlier)"},{"fix":"Avoid using this package for any critical or long-term projects. Consider alternative, actively maintained workflow management libraries or specialized neuroimaging tools. If experimenting, proceed with extreme caution and assume the code may not work as expected or at all.","message":"This project is in an extremely early development stage (version 0.0.1.dev2) and appears to be abandoned, with no commits in over two years. Its APIs are highly unstable, largely undocumented, and subject to arbitrary change or removal without warning. It is not suitable for production use.","severity":"breaking","affected_versions":"All versions (0.0.1.dev2 and earlier)"},{"fix":"Refer directly to the GitHub repository (http://github.com/kastman/fitz) and inspect the `fitz` directory and `tests` folder for clues on how the library was intended to be used. Be prepared for a significant lack of clarity and functional examples.","message":"There is no formal documentation, active community, or official support for this package. Usage patterns must be derived directly from the GitHub repository's source code and test files, which may be incomplete, outdated, or difficult to interpret for general use cases.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"If you intended to use a PDF library, install PyMuPDF (`pip install pymupdf`) and then `import fitz` from that package. If you meant this `fitz` package, this error confirms you're trying to use PyMuPDF functionality that does not exist here.","cause":"Attempting to use the `fitz` neuroimaging package as if it were the PyMuPDF library (which is commonly imported as `fitz`). This `fitz` package does not contain PDF-related functionality.","error":"AttributeError: module 'fitz' has no attribute 'open'"},{"fix":"Install the package using pip: `pip install fitz`.","cause":"The `fitz` package has not been installed in the current Python environment.","error":"ModuleNotFoundError: No module named 'fitz'"},{"fix":"Inspect the project's source code on GitHub (e.g., `fitz/workflow.py`) to verify the exact class name and its availability. However, it is strongly recommended to avoid using this package due to its instability and lack of maintenance.","cause":"The specific class or attribute you are trying to import (`Workflow` in this example) may not exist, has been renamed, or its import path has changed. Given the highly unstable and abandoned nature of this development package, API changes are common and undocumented.","error":"AttributeError: module 'fitz.workflow' has no attribute 'Workflow'"}],"ecosystem":"pypi"}