4.6 KiB
4.6 KiB
jeb Utils
Common utils for JEB client and server.
Installation
You can install the library using pip:
pip install jeb-utils --index-url https://repo.jcloud-services.ddns.net/simple/ --extra-index-url https://pypi.org/simple/
Functions and classes
auth_utils: Utilities for the jeb authentication
load_cert_file: Loads a certificate from a fileIdentity: An identity, based on a certificateVerifier: A verifier for the CA of an identity.
crypto_utils: Utilities for cryptography
generate_keypair: Generates a private and a public keyserialize_public_key: Serializes a public key to bytes.deserialize_public_key: Deserializes a public key from bytes.derive_aes_key: Derives an AES key from a private key and the peer public key.
exceptions: Common exceptions of the jeb library and server
UnknownProtocolError: The protocol is unknown.ProtocolSyntaxError: The syntax is not valid for the protocol.CRCInvalidError: The CRC is invalid.UnknownCreationError: Unknown error creating an object.UnknownSubscribingError: Unknown error subscribing topics.UnknownUnsubscribingError: Unknown error unsubscribing topics.TopicNotFoundError: The topic was not found.TopicExistsError: The topic already exists.TopicPartitionExistsError: The partition of the topic already exists.TopicPartitionNotFoundError: The partition of the topic was not found.TopicNotSubscribedError: The topic is not subscribed.InvalidTopicNameError: The topic name is invalid.FetchStartOutOfRangeError: The fetch start is out of range.FormatError: The format is invalid.CertificateNotTrustedError: The certificate is not trusted.
jeb_utils: Functions for jeb actions
format_topic_partitions: Formats the topic partitions.mktopic: Creates a topic.rmtopic: Removes a topic.mktopicpart: Creates a partition of a topic.rmtopicpart: Removes a partition of a topic.get_topics: Returns all topics.get_segment_base_timestamp: Returns the base timestamp of a segment.get_log_end_offsets: Gets the end offsets.init: Initializes the module.validate_topic_partition: Validates a topic partition number format.validate_topic_name: Validates a topic name.check_topic_exists: Checks whether a topic exists.pack_record_headers: Packs the record header dictionary into bytes.unpack_record_headers: Unpacks the record headers from bytes.create_record: Creates a record.fetch_records: Fetches records from the topic.Topic: A topic.Segment: A segment of a topic.FileCorruptWarning: A warning for corrupt log files.AttributesByte: An attributes byte of a record.
jebp_utils: Utilities for the jeb protocol
MessageFormatError: If the message format is invalid.sendmsg: Sends a message.readmsg: Receives a message.pack_fields: Packs the fields into a compact bytestring.unpack_fields: Unpacks the field from a bytestring.
utils: General utilities
is_number: Checks whether the string is a number.int_to_bytes: Converts the integer into bytes (dynamic length).bits_to_byte: Converts the bits into a single byte.byte_to_bits: Converts the byte to a tuple of bits.get_next_lower_integer_multiple: Returns the next lower integer multiple.find_nearest_lower_number: Finds the nearest lower number to the target from the list.create_file_if_not_exists: Creates a file if it does not exist.
Changelog
Version 0.2.3
- Bug fix:
is_valid_host,is_valid_portandvalidate_address_portinjeb_utils.utilswere not included in__all__
Version 0.2.2
- Bug fix: jeb_utils.utils.is_number could return
Trueeven if the base is0which is mathematically incorrect.
Version 0.2.1
- Add feature for validating addresses.
Version 0.2.0
- Remove all the functions and classes that are now in jeb-server-utils.
Version 0.1.4
- Bug fix: Due to a refactoring,
jeb_utils.jebp_utils.unpack_fieldsdid not work.
Version 0.1.3
- Fatal bug fix:
jeb_utils.jeb_utils.validate_topic_namehas not returnedTrueif the topic name is valid, it returnedNone(falsy). Now it returnsTrueif the topic name is valid.
Version 0.1.2
- Bug fix:
jeb_utils.mktopicparthas tried to raisejeb_utils.exceptions.exceptions.TopicNotFoundErrorinstead ofjeb_utils.exceptions.TopicNotFoundErrorif the topic does not exist.
Version 0.1.1
- Support for custom data paths (
jeb_utils.init)
Version 0.1.0
- First release
auth_utilscrypto_utilsexceptionsjeb_utilsjebp_utilsutils