Skip to main content

Object-oriented Network Analysis Tools

Code style: black PyPI version Tests and coverage Coverage License Docs

РИДМИ (Russian)

ObjectNat logo

ObjectNat is an open-source library developed by the IDU team for spatial and network analysis in urban studies. The library provides tools for analyzing accessibility, visibility, noise propagation, and service provision. —-

Key Features

Each feature includes a Jupyter Notebook example and full documentation.

  1. Isochrones and Transport Accessibility

    Isochrones represent areas reachable from an origin point within a specified time along a transport network. This feature allows the analysis of transport accessibility using pedestrian, road, public transport, or multimodal UrbanGraph objects prepared by IduEdu.

    The library supports several methods for building isochrones:

    • Basic isochrones: display a single zone reachable within a specified time.

    • Step isochrones: divide the accessibility area into time intervals (e.g., 3, 5, 10 minutes).

    📘 Example 🔗 Documentation

  2. Graph Coverage Zones from Points

    A function for generating coverage areas from a set of origin points using a transport network. It computes the area reachable from each point by travel time or distance, then builds polygons using Voronoi diagrams and clips them by a given boundary if specified.

    📘 Example 🔗 Documentation

  3. Service Provision Analysis

    A function to evaluate how well residential buildings and their populations are provided with services (e.g., schools, clinics) that have limited capacity and a defined accessibility threshold (in minutes or meters). The function models the balance between supply and demand, assessing how well services meet the needs of nearby buildings within an acceptable time. ObjectNat 2.0 returns a structured ProvisionResult with a sparse flow matrix and materialization helpers for buildings, services, and link geometries.

    📘 Example 🔗 Documentation

  4. Visibility Analysis

    A function for evaluating visibility from a given point or set of points to nearby buildings within a given radius. It is used to assess visual accessibility in urban environments. The unified get_visibility API supports accurate and simplified methods, including parallel execution for batches of observer points.

    📘 Example 🔗 Documentation

  5. Noise Simulation & Noise Frame

    Simulation of noise propagation from sources, taking into account obstacles, vegetation, and environmental factors.

    📘 Example 🔗 Documentation 🧠 Detailed theory


City Graphs via IduEdu

For optimal performance, ObjectNat is recommended to be used with graphs created by the IduEdu library. Graph-based ObjectNat methods consume iduedu.UrbanGraph directly; ObjectNat does not build NetworkX graphs internally.

IduEdu is an open-source Python library designed for building and processing complex urban networks based on OpenStreetMap data.

IduEdu can be installed via pip:

pip install IduEdu

Example usage:

from iduedu import get_4326_boundary, get_intermodal_graph

poly = get_4326_boundary(osm_id=1114252)
urban_graph = get_intermodal_graph(territory=poly, clip_by_territory=True)

Installation

ObjectNat can be installed via pip:

pip install ObjectNat

Configuration

You can adjust logging and progress bar output using the config module:

from objectnat import config

config.change_logger_lvl("INFO")   # mute debug logs
config.set_enable_tqdm(False)      # disable tqdm progress bars

Migration to ObjectNat 2.0

ObjectNat 2.0 replaces NetworkX-based graph inputs with iduedu.UrbanGraph, renames accessibility functions, and returns ProvisionResult from service provision. See the migration guide in the documentation: Migration 1.x to 2.0.


Contacts


Publications

Coming soon.

Download files

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

Source Distribution

objectnat-2.0.0.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

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

objectnat-2.0.0-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file objectnat-2.0.0.tar.gz.

File metadata

  • Download URL: objectnat-2.0.0.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for objectnat-2.0.0.tar.gz
Algorithm Hash digest
SHA256 bba68142389fa9f8937b37c2eedd3fa066f17d4a751540a8497eac8710a9fcd4
MD5 c67a9a998d29fe96aa9770cd11525d43
BLAKE2b-256 17eb78b867914723e498fd3349a37e43528bc19091fa66b87d82c078e9479cb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for objectnat-2.0.0.tar.gz:

Publisher: release.yml on IDUclub/ObjectNat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file objectnat-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: objectnat-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for objectnat-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d09ca39c71a08f398602625975de9531b6d9364c572a0f000aa0f1c1737ea647
MD5 c109324e70927c3d8439b003c209169d
BLAKE2b-256 ef00931982a29beccede98eb1b5849872757c56297aabdec41473f7359d2e8fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for objectnat-2.0.0-py3-none-any.whl:

Publisher: release.yml on IDUclub/ObjectNat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 files

1.4.1

2 files

1.4.0

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.3

2 files

Supported by

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