visitor
A tiny pythonic visitor implementation.
Decision gist · record as of 2026-08-14
No. The package is abandoned and unmaintained since 2016-05-18. The author's own documentation suggests copy-pasting the source instead of taking a dependency. High install friction combined with zero maintenance signal and no security updates makes this a poor choice—either inline the pattern or use a maintained alternative.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- High install friction with no runtime dependencies.
- Package is abandoned as of 2016-05-18 with no updates since its last commit on 2016-05-19.
- Supports both Python 2 and 3 but receives no maintenance.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it safe to adopt from a licensing standpoint.
last release 2016-05-18 (3740 days) · last repo commit 2016-05-19 · 12 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 444,237 downloads/mo, #6,623 on PyPI
Alternatives
Verify before relying
from visitor import Visitor
class MyVisitor(Visitor):
def visit_str(self, node):
return node.upper()
def visit_int(self, node):
return node * 2
visitor = MyVisitor()
print(visitor.visit("hello")) # dispatches to visit_str- Whether the package works reliably with modern Python versions despite no maintenance since 2016
- Whether high install friction is due to build requirements or packaging issues
- Real-world adoption rate and whether the 444237 monthly downloads reflect active use or legacy dependencies
What it is and what it does
visitor is a minimal library implementing the visitor design pattern for Python. It provides a base Visitor class that uses dynamic method dispatch to route calls to type-specific visit methods—for example, visit_str for strings, visit_int for integers. You subclass Visitor and define visit_* methods for each type you want to handle; calling visitor.visit(node) automatically dispatches to the appropriate handler based on the node's type.
The library is intentionally tiny and the author explicitly suggests copy-pasting the source into your project rather than adding a dependency. It has no runtime dependencies and supports both Python 2 and 3, but has been abandoned since 2016 with no maintenance or updates.
Use it for
- Implement custom JSON encoders or formatters that traverse nested data structures by type
- Build AST walkers or code analysis tools that need type-based dispatch on syntax nodes
- Create domain-specific language interpreters that process typed expression trees
- Write tree traversal algorithms where behavior depends on the node type encountered
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The package is abandoned and unmaintained since 2016-05-18. The author's own documentation suggests copy-pasting the source instead of taking a dependency. High install friction combined with zero maintenance signal and no security updates makes this a poor choice—either inline the pattern or use a maintained alternative.
Install
visitor on PyPI
Before you install
High install friction with no runtime dependencies. Package is abandoned as of 2016-05-18 with no updates since its last commit on 2016-05-19. Supports both Python 2 and 3 but receives no maintenance.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it safe to adopt from a licensing standpoint.
Quickstart
from visitor import Visitor
class MyVisitor(Visitor):
def visit_str(self, node):
return node.upper()
def visit_int(self, node):
return node * 2
visitor = MyVisitor()
print(visitor.visit("hello")) # dispatches to visit_str
Verify before relying
- Whether the package works reliably with modern Python versions despite no maintenance since 2016
- Whether high install friction is due to build requirements or packaging issues
- Real-world adoption rate and whether the 444237 monthly downloads reflect active use or legacy dependencies
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,740 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 444,237 / month, #6,623 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 2Programming Language :: Python :: 3 |
Evidence: visitor-0.1.3.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “visitor pattern python”
- visitorProvides a base Visitor class to implement the visitor design pattern…
- cobbleCobble is a Python library for creating data classes with automatic…
- flake8-plugin-utilsProvides base classes and utilities for writing flake8 plugins,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also cobble · overloading · simplegeneric · multimethod · classes · json-stream · multipledispatch · plum-dispatch · ovld · sortedcollections