Skip to main content

Send messages to the macOS unified logging system (os_log)

Project description

Pyoslog

Pyoslog allows you to send messages to the macOS unified logging system using Python.

from pyoslog import os_log, OS_LOG_DEFAULT
os_log(OS_LOG_DEFAULT, 'Hello from Python!')

Installation

Pyoslog requires macOS 10.12 or later and Python 3.6 or later. Install from PyPI using pip:

python -m pip install pyoslog

The module will install and import without error on earlier macOS versions, or on unsupported Operating Systems or incompatible Python versions. Use pyoslog.is_supported() if you need to support incompatible environments and want to know at runtime whether to use pyoslog. Please note that if is_supported() returns False then none of the module's other methods or constants will exist.

Usage

import pyoslog
if pyoslog.is_supported():
    pyoslog.log('This is an OS_LOG_TYPE_DEFAULT message via pyoslog')

Available methods

Pyoslog provides the following methods from Apple's unified logging header:

All the pyoslog methods have the same signatures as their native versions, except for where a method requires a format parameter. The os_log system requires a constant (static) format specifier, and it is not possible to achieve this via Python. As a result, all instances of format strings use "%{public}s", and all messages are converted to a string before passing to the native methods.

Pyoslog also offers a helper method – log – that by default posts a message of type OS_LOG_TYPE_DEFAULT to OS_LOG_DEFAULT. For example, the shortcut log('message') is equivalent to os_log_with_type(OS_LOG_DEFAULT, OS_LOG_TYPE_DEFAULT, 'message').

The Handler class is designed for use with Python's inbuilt logging module. It works as a drop-in replacement for other Handler varieties.

See pyoslog's method documentation for a full reference.

Labelling subsystem and category

Create a log object using os_log_create and pass it to any of the log methods to add your own subsystem and category labels:

import pyoslog
log = pyoslog.os_log_create('ac.robinson.pyoslog', 'custom-category')
pyoslog.os_log_with_type(log, pyoslog.OS_LOG_TYPE_DEBUG, 'Message to log object', log, 'of type', pyoslog.OS_LOG_TYPE_DEBUG)

Enabling and disabling log output

Log output can be enabled or disabled globally by switching between the desired log object and pyoslog.OS_LOG_DISABLED:

import pyoslog
log = pyoslog.OS_LOG_DEFAULT
pyoslog.os_log(log, 'Log output enabled')  # will appear in the unified log
log = pyoslog.OS_LOG_DISABLED
pyoslog.os_log(log, 'Log output disabled')  # will not appear in the unified log

It is also possible to check whether individual log types are enabled for a particular log object:

import pyoslog
pyoslog.os_log_type_enabled(pyoslog.OS_LOG_DEFAULT, pyoslog.OS_LOG_TYPE_DEBUG)

It is not possible to directly set a log object's mode from Python, but see the config section of man log for documentation about doing this in sudo mode.

Integration with the logging module

Use the pyoslog Handler to direct messages to pyoslog:

import logging, pyoslog
handler = pyoslog.Handler()
handler.setSubsystem('org.example.your-app', 'filter-category')
logger = logging.getLogger()
logger.addHandler(handler)
logger.error('message')

Logger levels are mapped internally to the OS_LOG_TYPE_* values – for example, logger.debug('message') will generate a message of type OS_LOG_TYPE_DEBUG.

Receiving log messages

Logs can be viewed using Console.app or the log command. For example, messages sent using the default configuration can be streamed using:

log stream --predicate 'processImagePath CONTAINS [c] "python"'

Messages sent using custom log objects can be filtered more precisely. For example, to receive messages from the labelled subsystem used in the example above:

log stream --predicate 'subsystem == "ac.robinson.pyoslog"' --level debug

See the log tool's manpages (man log or online) for further details about the available options and filters.

Handling cleanup

When labelling subsystem and category using the native C methods there is a requirement to free the log object after use (using os_release). The pyoslog module handles this for you – there is no need to del or release these objects.

Limitations

As noted above, while the macOS os_log API allows use of a format string with many methods, this parameter is required to be a C string literal. As a result, pyoslog hardcodes all format strings to "%{public}s".

Testing

The pyoslog module's tests require the pyobjc OSLog framework wrappers and the storeWithScope initialiser in order to verify output so, as a result, can only be run on macOS 12 or later.

After installing the OSLog wrappers (via python -m pip install pyobjc-framework-OSLog), navigate to the tests directory and run:

python -m unittest

All of pyoslog's code is covered by tests, but please note that if Console.app is live-streaming messages, some tests may fail. See test_logging.py for discussion about why this is the case.

Alternatives

At the time this module was created there were no alternatives available on PyPI. Since then, the macos-oslog module has been released, with broadly equivalent functionality to pyoslog, except for the need to manually release the log object. There is also os-signpost, which uses cython to provide the OSSignposter API, and could easily be extended to provide os_log functionality.

In addition, there are other options available if PyPI access is not seen as a constraint:

Note that the pyobjc module OSLog is for reading from the unified logging system rather than writing to it (and as a result is used for testing pyoslog). A log.h binding is on that project's roadmap, but not yet implemented.

License

Apache 2.0

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

pyoslog-1.2.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distributions

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

pyoslog-1.2.0-cp313-cp313-macosx_15_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pyoslog-1.2.0-cp313-cp313-macosx_14_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pyoslog-1.2.0-cp313-cp313-macosx_13_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

pyoslog-1.2.0-cp313-cp313-macosx_12_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

pyoslog-1.2.0-cp312-cp312-macosx_15_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

pyoslog-1.2.0-cp312-cp312-macosx_14_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pyoslog-1.2.0-cp312-cp312-macosx_13_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

pyoslog-1.2.0-cp312-cp312-macosx_12_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

pyoslog-1.2.0-cp311-cp311-macosx_15_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

pyoslog-1.2.0-cp311-cp311-macosx_14_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pyoslog-1.2.0-cp311-cp311-macosx_13_0_arm64.whl (18.3 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

pyoslog-1.2.0-cp311-cp311-macosx_12_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

pyoslog-1.2.0-cp310-cp310-macosx_15_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

pyoslog-1.2.0-cp310-cp310-macosx_14_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pyoslog-1.2.0-cp310-cp310-macosx_13_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

pyoslog-1.2.0-cp310-cp310-macosx_12_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

pyoslog-1.2.0-cp39-cp39-macosx_15_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

pyoslog-1.2.0-cp39-cp39-macosx_14_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

pyoslog-1.2.0-cp39-cp39-macosx_13_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.9macOS 13.0+ ARM64

pyoslog-1.2.0-cp39-cp39-macosx_12_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

pyoslog-1.2.0-cp38-cp38-macosx_15_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.8macOS 15.0+ ARM64

pyoslog-1.2.0-cp38-cp38-macosx_14_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

pyoslog-1.2.0-cp38-cp38-macosx_13_0_arm64.whl (18.2 kB view details)

Uploaded CPython 3.8macOS 13.0+ ARM64

pyoslog-1.2.0-cp38-cp38-macosx_12_0_arm64.whl (18.0 kB view details)

Uploaded CPython 3.8macOS 12.0+ ARM64

pyoslog-1.2.0-cp37-cp37m-macosx_15_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.7mmacOS 15.0+ ARM64

pyoslog-1.2.0-cp37-cp37m-macosx_14_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.7mmacOS 14.0+ ARM64

pyoslog-1.2.0-cp37-cp37m-macosx_13_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.7mmacOS 13.0+ ARM64

pyoslog-1.2.0-cp37-cp37m-macosx_12_0_arm64.whl (18.0 kB view details)

Uploaded CPython 3.7mmacOS 12.0+ ARM64

pyoslog-1.2.0-cp36-cp36m-macosx_15_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.6mmacOS 15.0+ ARM64

pyoslog-1.2.0-cp36-cp36m-macosx_14_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.6mmacOS 14.0+ ARM64

pyoslog-1.2.0-cp36-cp36m-macosx_13_0_arm64.whl (18.1 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ ARM64

pyoslog-1.2.0-cp36-cp36m-macosx_12_0_arm64.whl (18.0 kB view details)

Uploaded CPython 3.6mmacOS 12.0+ ARM64

File details

Details for the file pyoslog-1.2.0.tar.gz.

File metadata

  • Download URL: pyoslog-1.2.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for pyoslog-1.2.0.tar.gz
Algorithm Hash digest
SHA256 10632e39c1294bf0d7d398a81c87bb9f7e13ec2dea16f199ba28c1278cda04b4
MD5 e053116851befc2d801c86b16feaba63
BLAKE2b-256 df44a5a557788e04cd3a706e85ec69182bbea88384dab825e2c79f24f6030612

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 68011790df2122537907da0bbd3a29b6bf3dec6c3ddff2161483fd95130a121c
MD5 56b5ea76432656d8cd962a636a616108
BLAKE2b-256 eb632dfb5458d32d78d203c05aa63052f077c56b866c0882f585c7cf3d3e8b39

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b8649827f59707805a37b29938c57693f0c1bf6df38c9dcdc211b86dc3905efc
MD5 5509635b20e8f566df306a11fd8d0034
BLAKE2b-256 05da68104dc08f19efa426d1dcba8495e035bb4b82ed81e62255fdec35106324

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f0878bdb398a3206a946ce73c722bbfe7194bb1cf65432282c90d2672b7cfaec
MD5 25b04259c0d22571d53a1de817ddd6d8
BLAKE2b-256 d74deddbee0669fe5f49a2c34ddd680517cc8583f518e1b468b54780af1fcf5e

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 a9d8f900445421b3e6c2fe02ecae8dd9f7a647ec3d78416cca1d1aa305e5450c
MD5 f3c018737d84ecdaa5bfef794054bbe0
BLAKE2b-256 f0966446a70746408c8499e6482480d35de5c90052c8d779c15a5abd1eb8bfdd

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9a1c01b6a94496a8fdbb623649e9a4450afc1d8c59d3fac19d7f5ba7e7926830
MD5 40246bd0a25e00d8f8a5b98729f19f09
BLAKE2b-256 00184d9b47a2256105c9d23d7bcdd08e3b3c78caa95c726789da81481affeb9c

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0b24be8f6d6c2d3ae3906241fe396ec1a0664c30254868da1e16b2bae8da839d
MD5 1424a131b66ab0e642023f9496c40187
BLAKE2b-256 48f4515ce7d8111783f2a6f1880e8be17ff42464d1fada16a7723bdf08bcf745

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5dc43869cceed768c985035e725c42b6a5af3827cd1a00fdd1858e391affbac7
MD5 a7f77a88226fd4c9aaa22d14721de153
BLAKE2b-256 e394c70cde775aa20f35f691f4167691e3dde123b0f85fa1718cb5427cfb29b1

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp312-cp312-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 a69a2721541a3fba67168c60f719bf6f01136062e4042c38aa95494bf5340357
MD5 0eaa6aba86843253c56c1be584d4e196
BLAKE2b-256 75f765a7e491564c44cfd416b1912009423c969f4f2c1988e6f9975b8e56ba3b

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b1aed6888c6c0081dfe54bacbd3b1b694de4e75eec683019456f86ee25625ff1
MD5 7e64353dcdfb08a13b11d019f0d3dde2
BLAKE2b-256 d2b0629e946ba375178c36c63d436e9457535c1489f3c626c8b10030a0874a69

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1a3f39ee8277519867788d77df845eba5b0a3d5c547af5d8a2370647efd4f53b
MD5 81b3b31cd53c70788e2777415b91571d
BLAKE2b-256 1fc430612eb1888a73b52b352812d4b0bd63eee506d5a71c4b8ae43f127ce6f5

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6078ccd9d59d2b982418245485d58042479e5e48eb5e4d16e9857a90eeab9975
MD5 2ea1d89fff82b9d28284cf148b5c4785
BLAKE2b-256 8ab39577c919b6a449d6c6a4b8d0bef3d85081cc9e6c29e1fc5ed9f53e0be041

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c7ec0f1a42dd5de7887350bca912a247ccb4236f216ae4d128a16cd6f8384f77
MD5 59e9ce30dee2e0e8ee628f81d73008cd
BLAKE2b-256 9f547916b93a4c033a134ed12f2553bae18a5842b2ab24bf2102bad3b946b5ae

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 aa1ea0df53f2b6128710fe7ac3061f26a50f82f3b5b1a494830873d19dad8d26
MD5 afd95966ae22cedb39c75b90061f8a36
BLAKE2b-256 d3b39ee27002a2d35846898ec61fe3e61a3e77c444e4c927be62972959f30915

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6ba5a35d040ef6608bf186d35be5e8aea483188a97ef9d3e3ee50620644c8f65
MD5 1618e20df1e0e4bd8205f1979f3b09a4
BLAKE2b-256 f9e6f5cf63f8912f6ed494b97d9ca91a9333b3ddd2fa13ff66bb54cd574ee0a6

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9446bbe6bbfbe5f562615b4f800eb189040ec40e7d50148be254ba5deb6b03e4
MD5 af2da7b4fa282e7edf90987551922c12
BLAKE2b-256 c2eb085cbe704162e960efed432c811eb08ff22712af54904acfd3370190ff01

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 b50bd0a4fac98a373165d60e90ea8e36be87ec74b81bffa67e13b4d6042a91ce
MD5 c162bcfe04ecd059e8fe51a221c6e475
BLAKE2b-256 a81509abc10c9e29a76605a98a2cd0ff8aa5852048608ad7886bcc822b54c8e3

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 7cb488c73951d352b5522dd34d401d6745cb85ac4967958f6ec90c25702ee55b
MD5 dcaab2b8064d351863c81d1c781c5a0a
BLAKE2b-256 f024a85c681c79bc40d0c3dc0f64c6a3f799dc2d0d845b0ecd06e75769b66309

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a7faa4431ad630d22455a9898d73d5248150c107628dbbc5dd42c2e9ceaa0d24
MD5 19907473856314d909960f45bf7d544d
BLAKE2b-256 5420e5021836cbb5fb0107b42c7ca4177b90a79634b7da6794993939fb84437a

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp39-cp39-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 20b8f0290575364f28be55878bdb055b3eeba90b06c12f981ef82f7f28eeedc5
MD5 b98cf1332d958f6b38a6171fb183e06c
BLAKE2b-256 523a3cbac341890d055e8ebc6f52591cfd1db7c5793e813f3f0907e2551e98f9

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 efcae13f6832c183394183eb25c4c7101fc0aecada25f6916f6d9be7c4d8ef34
MD5 addc5a90df353f78670f3c81baecc6ee
BLAKE2b-256 1e8873c6447850357ebb8443fb61687dd5d3f286f86493ef479b372557936aa4

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp38-cp38-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp38-cp38-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 eccfb3a722d448eda0198db5cebbdbfcba0c7cd7d1b3516055dca79803c42252
MD5 8cbed274fb72ae1960a84c56c14fbd78
BLAKE2b-256 d1264ff0e32106acfe0ed75b404c45fd026ff8672e608f9bed299a259f64dea7

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 996fd47e8d1541536ef6e963eb1c9b2e0270c3dce7e6c9888cf7afa92a41d13f
MD5 c2f456b4408fa00a6b3e8f31a41de54f
BLAKE2b-256 3a452f02ee4b038b067feccb40a6b02ad5af53c56ebd5397c00ee046aeb7c786

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp38-cp38-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp38-cp38-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e3975e105339a2f58b45b5f4373bb784af1a16f460dbd6afc98ffe73b98f29a6
MD5 0b415efd6d05684057052af6ea11ccc1
BLAKE2b-256 7d1c667166b75bb34015999fa1ab45b9679dbd991c86e3cc4b3f96ca821a5664

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp38-cp38-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp38-cp38-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 4cdeae71668b188dcde7409ed37d1c2e9fde9c083989141b9748889e8ab06ae1
MD5 04142c1218bc2b2dd4015787613097f6
BLAKE2b-256 017083ecae120696c9d1500a9a685ed009fd938a6cf5be7fa16d4a7dad790772

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp37-cp37m-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp37-cp37m-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 64a6c31d0e5699763e85df6f9bc5b3eef5d4d2e72d188d2febc2aa5e5a390d33
MD5 b1274beb5369b1f4d2f83408a1c6931e
BLAKE2b-256 95b7df7fa7447df1f2f7b6d789f401dc1056f650d3ef2dbedc622f6b5998ccc6

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp37-cp37m-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp37-cp37m-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3fbfc03a9fa26ac562a09ef65c8c52d4f801a4db124655209fcf509b912b32ce
MD5 2aacdd1f5dea7b1ca35eb40a6afab6c4
BLAKE2b-256 524d1b12d6f42c9224ff5eb3cc54c776114d37178c3dbe921721528870ac0e43

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp37-cp37m-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp37-cp37m-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3a0c39d0a29130087ef263455646431b50459d76a730186e23d381a9ad355480
MD5 cb963a6c853e43dff68326630f7edc92
BLAKE2b-256 9589989c6be42c51c03063c23dd46dc844909d12470abf4c6a56b7d9c235c8ea

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp37-cp37m-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp37-cp37m-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 7f537d85f2f397da4c0d096ec294e77a586ef7348cdf189e44683fae6e01516d
MD5 84092c049877fc006e9860e881a0189c
BLAKE2b-256 dffa3888fc6a245f031d2418a3545ff5d5da96bc4084a3f47c77b7ce7328c510

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp36-cp36m-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp36-cp36m-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 5fbb17bb49725268ae85a393b8352b7c62ca9d4b9d357b2903d2e559d2720d26
MD5 b1f632b537403a01b500273750473a5d
BLAKE2b-256 1afc43e4f2f3f54fd7ee88621ecd0b8df19ae06a8079bd7f3357adc3cd251f18

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp36-cp36m-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp36-cp36m-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4071d37325fe03dc1e6a644767609cd6868a1f58109366da9cc1ed7d67db33bb
MD5 2eea346f9cf3a4aceac2c51c1d6ace38
BLAKE2b-256 4a6de06000b28a316584e39ea4bf4d9af1c0ee734e7497490a17cf0a58ab5056

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp36-cp36m-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp36-cp36m-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 4fa2db01ba052c23acc38801099425267109abb9ffd17f9cd6b1a9f27edaf56a
MD5 a680fca8d4ff7d49631fd537eb8a79a9
BLAKE2b-256 30c227f31c1918cbf26104affc33e03c44e7f753ab956b4df549c97ed27f2589

See more details on using hashes here.

File details

Details for the file pyoslog-1.2.0-cp36-cp36m-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for pyoslog-1.2.0-cp36-cp36m-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 a667e095ec777264a22952b42c37a066a5aaf46c2e9f760cbaf63c4bb66196a0
MD5 d9ad2e9e2c021c3d864a83413eb92824
BLAKE2b-256 7e34da4f25bb0760260f4722c5e6f181c46c0d16ac5bffe1dc15726224d61cbc

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