Skip to main content

Pure Python library for creating and parsing NDEF messages.

Project description

PyNdef

!python-versions Pypi

codecov Test Release

Pure Python library for creating and parsing NDEF messages.
All codes in this repository are referred to AOSP NDEF implementation.

Features

  • Pure Python implementation (>=3.6)
  • No 3rd party dependency
  • With tests
  • Similar to AOSP NDEF implementation
  • Full type hint

Usage

pip install pyndef
from pyndef import NdefMessage, NdefRecord, NdefTNF, NdefRTD

r1 = NdefRecord(NdefTNF.EMPTY, None, None, None)
print(r1)

r2 = NdefRecord(NdefTNF.EXTERNAL_TYPE, b"type", b"\x01", b"\x01\x02\x03")
print(r2)

r3 = NdefRecord.create_uri("https://www.github.com")
print(r3)

r4 = NdefRecord(NdefTNF.WELL_KNOWN, NdefRTD.SMART_POSTER, None, r3.to_bytes())
print(r4)

msg = NdefMessage(r2, r3)
print(msg)

msg = NdefMessage.parse(b"\xd8\x00\x00\x00")
print(msg)

Reference

/platform/frameworks/base/nfc/java/android/nfc/NdefRecord.java
/platform/frameworks/base/nfc/java/android/nfc/NdefMessage.java
/cts/tests/tests/ndef/src/android/ndef/cts/NdefTest.java

License

   Copyright 2024 XFY9326

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

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

pyndef-1.0.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

pyndef-1.0.2-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file pyndef-1.0.2.tar.gz.

File metadata

  • Download URL: pyndef-1.0.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for pyndef-1.0.2.tar.gz
Algorithm Hash digest
SHA256 27cafcfac032b9b8d4eac792773538d22dd8465de3495aca067de3c7ccb499e5
MD5 8e3cd50955644b779d0cf8c8ab43a3de
BLAKE2b-256 77dd0491b87f9c061ffb866549574812d785b8b6c5d36da305e60dd9fa776c93

See more details on using hashes here.

File details

Details for the file pyndef-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pyndef-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for pyndef-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b1df47989552d5a44c6039207cc7b48a26cbfa8382ac68f1f0b72b3f49c44fec
MD5 230b27ff5e7a418177b1677b7a93922b
BLAKE2b-256 9f87cfe441c10ea5bb52da0dbd9a32319ffa62459dcc88df8b95d6a93742c378

See more details on using hashes here.

Supported by

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