skillfed

zope.dottedname

Resolver for Python dotted names.

zope-dottedname v7.1 295.0K downloads/30d#7,935 on PyPI5
License unclear ZPL-2.1 Active released

What it is and what it does

zope.dottedname is a utility for resolving dotted name strings into their corresponding Python objects at runtime. Given a string like 'os.path.join' or 'mypackage.submodule.MyClass', it imports the necessary modules and returns the actual object, enabling dynamic object lookup without hardcoding imports.

The package has no runtime dependencies and is maintained as part of the Zope ecosystem. It supports current Python versions (3.10 through 3.14) and runs on both CPython and PyPy. This makes it useful in frameworks and libraries that need to load user-specified classes or functions by name, such as configuration systems or plugin loaders.

Use it for:

  • Load plugin classes specified in configuration files by their dotted name string
  • Implement a factory pattern where object types are specified as strings in config
  • Build introspection tools that need to resolve symbolic references to Python objects
  • Enable dynamic middleware or handler registration in web frameworks

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts dotted name strings (like 'package.module.Class') into the actual Python objects they reference, enabling dynamic imports and runtime object resolution.

Yes. It is a lightweight, stable utility with no dependencies, active maintenance, and clear security posture (no known vulnerabilities). Install it if you need to resolve dotted name strings to Python objects—a common requirement in configuration-driven or plugin-based systems. Verify ZPL-2.1 compatibility with your project first.

Install

zope-dottedname on PyPI

pip

pip install zope-dottedname

uv

uv add zope-dottedname

poetry

poetry add zope-dottedname

Installing zope.dottedname

Before you install

Low friction; pure Python wheel with no runtime dependencies. Active maintenance with recent release (165 days ago) and support for current Python versions including 3.14.

License in practice

Licensed under ZPL-2.1 (Zope Public License 2.1); license treatment is unclear in the fact sheet, so verify compatibility with your project's licensing requirements before use.

Quickstart

pip install zope.dottedname

from zope.dottedname.dottedname import resolve
obj = resolve('os.path.join')

Requires Python 3.10 or later.

Verify before relying

  • Whether ZPL-2.1 is compatible with your project's license (unclear treatment in metadata)
  • Exact behavior when resolving invalid or non-existent dotted names

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 165 days since the last release
Last repo commit
First released
Downloads 294,991/month — #7,935 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zope_dottedname-7.1-py3-none-any.whl

Keywords: resolve, dotted, name

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: Zope :: 3Intended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP

Tags

resolve dotted names pythondynamic import by stringconvert dotted string to objectpython object resolutionstring to module class lookup
dynamic-importreflection

More WWW/HTTP packages