Skip to main content

Anatomic location ontology navigation

Project description

anatomic-locations

Python library for anatomic location ontology navigation: hierarchy traversal, laterality variants, and semantic search.

Installation

pip install anatomic-locations

Features

  • Hybrid Search: Combined full-text and semantic vector search
  • Batch Search: One embedding API call for multiple queries via search_batch()
  • Hierarchy Navigation: Traverse parent/child relationships with tree visualization
  • Laterality Variants: Generate left, right, bilateral variants
  • Auto-Download: Database downloads automatically on first use
  • Flexible Lookup: Use location IDs (RID*), descriptions, or synonyms

Quick Start

The database auto-downloads on first use. No setup required.

from anatomic_locations import AnatomicLocationIndex

# Auto-open: no explicit open() or context manager needed for simple queries
index = AnatomicLocationIndex()
location = index.get("RID2772")   # by RID
location = index.get("kidney")    # by description (case-insensitive)
location = index.get("renal")     # by synonym (case-insensitive)
print(location.description)       # "kidney"
print(location.region.value)      # "Abdomen"

Configuration

Override the default database path via environment variable or constructor:

# Environment variable
export ANATOMIC_DB_PATH=/path/to/custom.duckdb
# Or specify directly
index = AnatomicLocationIndex(db_path="/path/to/custom.duckdb")

Semantic Search

Set OPENAI_API_KEY (or ANATOMIC_OPENAI_API_KEY) to enable embedding-based semantic search. Without it, search uses keyword matching only (FTS), which may miss conceptual matches for multi-word queries.

CLI

The anatomic-locations CLI provides search, hierarchy navigation, and lookup commands. Use location IDs (e.g., RID2772) or names (e.g., "stomach"):

# Semantic search
anatomic-locations search "posterior cruciate ligament"

# Show full hierarchy tree
anatomic-locations hierarchy stomach

See the full CLI reference for all commands.

Related Packages

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anatomic_locations-0.2.2.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anatomic_locations-0.2.2-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file anatomic_locations-0.2.2.tar.gz.

File metadata

  • Download URL: anatomic_locations-0.2.2.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for anatomic_locations-0.2.2.tar.gz
Algorithm Hash digest
SHA256 6ce986b344ed4ab349096ea048af4ce6cd38aa640cd7bab961ef1689ffb1bd9c
MD5 d8721deca6b68febbcb6798e25eec032
BLAKE2b-256 0555f6a76a1c2e720264a9ed559057582b3b83adb404be7efeaed34be95fea61

See more details on using hashes here.

File details

Details for the file anatomic_locations-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: anatomic_locations-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for anatomic_locations-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 80258500b3e9bd3716e16980e464bc4ad40eab734a23a3bdb530e7df6e5725a8
MD5 dfa6f61208b2ed3b9080dad7682b3663
BLAKE2b-256 bc1397d544ccfac6a9f288e3ff92715be380e8c346850389c0a255b2d740a73e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page