Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 1.1.15 instead.

pynspd

Python-библиотека для работы с НСПД - Национальной системой пространственных данных (ex-ПКК)

PyPI - Python Version Coverage Status


⚠️ Важно

Данная библиотека является неофициальным проектом и создана исключительно в образовательных целях

Особенности

  • Синхронное и асинхронное API: полностью идентичные API позволяют одинаково удобно работать в разных проектах.
  • Полная типизации проекта: автозаполнения в IDE, статический анализ и прочие удобства современного Python.
  • Автогенерация схем: данные о перечне слоев, их полях и их типах подтягиваются напрямую с НСПД.
  • Валидации данных от Pydantic: гарантия, что библиотека соответствует сайту.
  • Поддержка работы с геометрией от Shapely: удобная аналитика полученной геометрии.
  • Кэширование из коробки от Hishel: сохранение данных в Redis, SQLite и других форматах.

Быстрый старт

Установите pynspd:

$ pip install pynspd

Найдите нужный вам объект:

from pynspd import Nspd

with Nspd() as nspd:
    feat = nspd.find("77:05:0001005:19")

Доступен полный список аттрибутов (в том числе скрытых):

print(feat.properties.options.model_dump())
# > {'readable_address': 'г Москва, ул Серпуховская Б., вл 58',
# >  'land_record_subtype': 'Землепользование', ...}

Который можно конвертировать в человекочитаемый формат:

print(feat.properties.cast().options.model_dump_human_readable())
# > {'Адрес': 'г Москва, ул Серпуховская Б., вл 58',
# >  'Вид земельного участка': 'Землепользование', ...}

Для доступа к дополнительным аттрибутам делаем запрос по вкладке:

print(nspd.tab_objects_list(feat))
# > {'Объект недвижимости': ['77:05:0001005:1012']}

Геометрию можно сразу конвертировать в shapely-формат (например, для работы с geopandas):

print(feat.geometry.to_shape().bounds)
# > (37.62575417009177, 55.719792499833524, 37.626451149629915, 55.72046606889391)

С более детальным описанием библиотеки можно ознакомиться в руководстве пользователя.

Работа из консоли (CLI)

Установка:

$ pip install pynspd[cli]
$ pynspd --version
1.0.0

Для поиска по к/н:

$ pynspd search "77:05:0001005:19"

Для поиска по геометрии:

$ pynspd geo "55.605, 37.562" 

Подробный обзор можно найти в этой статье.

Поддержка проекта

Самый простой способ - это оставить ⭐ проекту на GitHub и отправить его своим коллегам. Если же вы хотите принять участие в его развитии, ознакомьтесь со статьей "Как поддержать проект?".

Metadata

Release files for pynspd 1.1.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pynspd 1.1.14
File Size Uploaded
pynspd-1.1.14.tar.gz 592.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pynspd 1.1.14
File Interpreter ABI Platform
pynspd-1.1.14-py3-none-any.whl Python 3 none any Details

Total release size: 639.7 kB

Release files / pynspd-1.1.14.tar.gz

Download URL pynspd-1.1.14.tar.gz
Size 592.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0a3ef4fbcc9dfe72aed65e8f7abde0856229b34a5fd27c4360ff551b0b63f575
BLAKE2b-256 checksum
How to use checksums
b00cda47cf0c5d76d189252c3a9b33b3b03d03055d690ff202ab96a639310c00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / pynspd-1.1.14-py3-none-any.whl

Download URL pynspd-1.1.14-py3-none-any.whl
Size 47.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0aebfdb853646738333b0229578ff5e6fdfbed9ea29418ca5219035977f5d3fe
BLAKE2b-256 checksum
How to use checksums
1fc93c2f7e45dd411817511adbd5607581cdf00e21b5922959116dfe0ab9b250
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

1.1.15

2 release files

This release

1.1.14 This release

2 release files

1.1.13

2 release files

1.1.12

2 release files

1.1.11

2 release files

1.1.10

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page