zenutils


Namezenutils JSON
Version 0.5.5 PyPI version JSON
download
home_pageNone
SummaryCollection of simple utils.
upload_time2024-08-13 12:06:05
maintainerXin HaoJia
docs_urlNone
authorXin HaoJia
requires_pythonNone
licenseMIT
keywords zenutils
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # zenutils

Collection of simple utils. 

## Install

```
pip install zenutils
```

## Extra packages requires

- For python3.2 and python2.x, requires extra package: inspect2~=0.1.2
- For user who is using xxhash methods with hashutils, requires extra package: xxhash
- For user who is using sm3 methods with hashutils, requires extra package: sm3utils.
- If your python installation's hashlib already support sm3 hash method, you don't have to install sm3utils.
- xxhash and sm3utils are not put into this package's requirements, you need to install them by your self.

## Notice

- The hashutils' hash methods are different on different python installations. The list below is based on Python 3.10.6 x86_64 on windows. Mostly md5, sha1, sha224, sha256, sha384, sha512 methods are supported.
- The hashutils' DEFAULT_HASH_METHOD is sm3 and DEFAULT_PASSWORD_HASH_METHOD is ssm3, so if your python installation is not support sm3 hash method, you need to install sm3utils by yourself.

## Utils

1. zenutils.base64utils
    1. a85decode
    1. a85encode
    1. b16decode
    1. b16encode
    1. b32decode
    1. b32encode
    1. b32hexdecode
    1. b32hexencode
    1. b64decode
    1. b64encode
    1. b85decode
    1. b85encode
    1. decode
    1. decodebytes
    1. encode
    1. encodebytes
    1. standard_b64decode
    1. standard_b64encode
    1. urlsafe_b64decode
    1. urlsafe_b64encode
1. zenutils.baseutils
    1. Null
1. zenutils.cacheutils
    1. ReqIdCache
    1. cache
    1. get_cached_value
    1. simple_cache
1. zenutils.cipherutils
    1. Base64Encoder
    1. CipherBase
    1. DecryptFailed
    1. EncoderBase
    1. HexlifyEncoder
    1. IvCipher
    1. IvfCipher
    1. MappingCipher
    1. RawDataEncoder
    1. S12Cipher
    1. S1Cipher
    1. S2Cipher
    1. SafeBase64Encoder
    1. Utf8Encoder
1. zenutils.dateutils
    1. get_days
    1. get_months
    1. get_years
1. zenutils.dictutils
    1. HttpHeadersDict
    1. Object
    1. attrgetorset
    1. attrset
    1. change
    1. changes
    1. deep_merge
    1. diff
    1. fix_object
    1. ignore_none_item
    1. prefix_key
    1. select
    1. to_object
    1. touch
    1. update
1. zenutils.errorutils
    1. AccessDenied
    1. AccountDisabledError
    1. AccountLockedError
    1. AccountRemovedError
    1. AccountStatusError
    1. AccountTemporaryLockedError
    1. AnotherServiceError
    1. AppAuthFailed
    1. AuthError
    1. BadParameter
    1. BadParameterType
    1. BadResponseContent
    1. BadUserToken
    1. BizError
    1. BizErrorBase
    1. CacheError
    1. CaptchaOnlyAllowedOnce
    1. CaptchaRequired
    1. CaptchaValidateFailed
    1. CastFailedError
    1. CastToBooleanFailed
    1. CastToFloatFailed
    1. CastToIntegerFailed
    1. CastToNumbericFailed
    1. CastToStringFailed
    1. ClientLostError
    1. ConfigError
    1. DataError
    1. DatabaseError
    1. EventNotRegistered
    1. FormError
    1. HttpError
    1. InformalRequestError
    1. InformalResultPackage
    1. InformalResultPackage
    1. LogicError
    1. LoginRequired
    1. MessageQueueError
    1. MissingConfigItem
    1. MissingField
    1. MissingParameter
    1. NetworkError
    1. NoAccessPermissionError
    1. NoDeletePermissionError
    1. NoMatchingRouteFound
    1. NoPermissionError
    1. NoPermissionToCleanCacheError
    1. NoReadPermissionError
    1. NoUpstreamServerAvailabe
    1. NoWritePermissionError
    1. NotSupportedHttpMethod
    1. NotSupportedTypeToCast
    1. OK
    1. ParamError
    1. ParseJsonError
    1. PermissionError
    1. RepeatedlySubmitForm
    1. ReqeustForbidden
    1. ReqidDuplicateError
    1. RequestExpired
    1. SYSTEM_ERROR_CODE_MAPPING
    1. ServiceError
    1. StringTooLong
    1. StringTooShort
    1. SysError
    1. TargetNotFound
    1. TooLargeRequestError
    1. TsExpiredError
    1. TypeError
    1. UndefinedError
    1. UserDoesNotExist
    1. UserPasswordError
    1. ValueExceedsMaxLimit
    1. ValueLessThanMinLimit
    1. WrongFieldType
    1. WrongParameterType
    1. clean_language_name
    1. get_error_info
    1. get_language
    1. set_error_info
    1. set_language
1. zenutils.fsutils
    1. TemporaryFile
    1. copy
    1. expand
    1. file_content_replace
    1. filecopy
    1. first_exists_file
    1. get_application_config_filepath
    1. get_application_config_paths
    1. get_safe_filename
    1. get_size_deviation
    1. get_size_display
    1. get_swap_filename
    1. get_temp_workspace
    1. get_unit_size
    1. info
    1. mkdir
    1. move
    1. pathjoin
    1. readfile
    1. rename
    1. rm
    1. safe_write
    1. size_unit_names
    1. size_unit_upper_limit
    1. touch
    1. treecopy
    1. write
1. zenutils.funcutils
    1. BunchCallable
    1. ChainableProxy
    1. call_with_inject
    1. chain
    1. classproperty
    1. get_all_builtin_exceptions
    1. get_builtins_dict
    1. get_class_name
    1. get_default_values
    1. get_inject_params
    1. get_method_help
    1. get_method_signature
    1. inspect
    1. is_a_class
    1. isclass
    1. mcall_with_inject
    1. signature
    1. try_again_on_error
1. zenutils.hashutils
    1. Base64ResultEncoder
    1. Blake2BHexlifyPasswordHash
    1. Blake2BPbkdf2PasswordHash
    1. Blake2BPbkdf2PasswordHashColon
    1. Blake2BSimplePasswordHash
    1. Blake2BSimpleSaltPasswordHash
    1. Blake2SHexlifyPasswordHash
    1. Blake2SPbkdf2PasswordHash
    1. Blake2SPbkdf2PasswordHashColon
    1. Blake2SSimplePasswordHash
    1. Blake2SSimpleSaltPasswordHash
    1. DigestResultEncoder
    1. HexlifyPasswordHashBase
    1. HexlifyResultEncoder
    1. Md5HexlifyPasswordHash
    1. Md5Pbkdf2PasswordHash
    1. Md5Pbkdf2PasswordHashColon
    1. Md5SimplePasswordHash
    1. Md5SimpleSaltPasswordHash
    1. PasswordHashMethodBase
    1. PasswordHashMethodNotSupportError
    1. Pbkdf2PasswordHashBase
    1. ResultEncoderBase
    1. Sha1HexlifyPasswordHash
    1. Sha1Pbkdf2PasswordHash
    1. Sha1Pbkdf2PasswordHashColon
    1. Sha1SimplePasswordHash
    1. Sha1SimpleSaltPasswordHash
    1. Sha224HexlifyPasswordHash
    1. Sha224Pbkdf2PasswordHash
    1. Sha224Pbkdf2PasswordHashColon
    1. Sha224SimplePasswordHash
    1. Sha224SimpleSaltPasswordHash
    1. Sha256HexlifyPasswordHash
    1. Sha256Pbkdf2PasswordHash
    1. Sha256Pbkdf2PasswordHashColon
    1. Sha256SimplePasswordHash
    1. Sha256SimpleSaltPasswordHash
    1. Sha384HexlifyPasswordHash
    1. Sha384Pbkdf2PasswordHash
    1. Sha384Pbkdf2PasswordHashColon
    1. Sha384SimplePasswordHash
    1. Sha384SimpleSaltPasswordHash
    1. Sha3_224HexlifyPasswordHash
    1. Sha3_224Pbkdf2PasswordHash
    1. Sha3_224Pbkdf2PasswordHashColon
    1. Sha3_224SimplePasswordHash
    1. Sha3_224SimpleSaltPasswordHash
    1. Sha3_256HexlifyPasswordHash
    1. Sha3_256Pbkdf2PasswordHash
    1. Sha3_256Pbkdf2PasswordHashColon
    1. Sha3_256SimplePasswordHash
    1. Sha3_256SimpleSaltPasswordHash
    1. Sha3_384HexlifyPasswordHash
    1. Sha3_384Pbkdf2PasswordHash
    1. Sha3_384Pbkdf2PasswordHashColon
    1. Sha3_384SimplePasswordHash
    1. Sha3_384SimpleSaltPasswordHash
    1. Sha3_512HexlifyPasswordHash
    1. Sha3_512Pbkdf2PasswordHash
    1. Sha3_512Pbkdf2PasswordHashColon
    1. Sha3_512SimplePasswordHash
    1. Sha3_512SimpleSaltPasswordHash
    1. Sha512HexlifyPasswordHash
    1. Sha512Pbkdf2PasswordHash
    1. Sha512Pbkdf2PasswordHashColon
    1. Sha512SimplePasswordHash
    1. Sha512SimpleSaltPasswordHash
    1. ShaHexlifyPasswordHash
    1. ShaPbkdf2PasswordHash
    1. ShaPbkdf2PasswordHashColon
    1. ShaSimplePasswordHash
    1. ShaSimpleSaltPasswordHash
    1. SimplePasswordHashBase
    1. SimpleSaltPasswordHashBase
    1. Sm3HexlifyPasswordHash
    1. Sm3Pbkdf2PasswordHash
    1. Sm3Pbkdf2PasswordHashColon
    1. Sm3SimplePasswordHash
    1. Sm3SimpleSaltPasswordHash
    1. Xxh128HexlifyPasswordHash
    1. Xxh128Pbkdf2PasswordHash
    1. Xxh128Pbkdf2PasswordHashColon
    1. Xxh128SimplePasswordHash
    1. Xxh128SimpleSaltPasswordHash
    1. Xxh32HexlifyPasswordHash
    1. Xxh32Pbkdf2PasswordHash
    1. Xxh32Pbkdf2PasswordHashColon
    1. Xxh32SimplePasswordHash
    1. Xxh32SimpleSaltPasswordHash
    1. Xxh64HexlifyPasswordHash
    1. Xxh64Pbkdf2PasswordHash
    1. Xxh64Pbkdf2PasswordHashColon
    1. Xxh64SimplePasswordHash
    1. Xxh64SimpleSaltPasswordHash
    1. algorithms_available
    1. get_blake2b
    1. get_blake2b_base64
    1. get_blake2b_digest
    1. get_blake2b_hexdigest
    1. get_blake2s
    1. get_blake2s_base64
    1. get_blake2s_digest
    1. get_blake2s_hexdigest
    1. get_file_blake2b
    1. get_file_blake2b_base64
    1. get_file_blake2b_digest
    1. get_file_blake2b_hexdigest
    1. get_file_blake2s
    1. get_file_blake2s_base64
    1. get_file_blake2s_digest
    1. get_file_blake2s_hexdigest
    1. get_file_hash
    1. get_file_hash_base64
    1. get_file_hash_hexdigest
    1. get_file_hash_result
    1. get_file_md5
    1. get_file_md5_base64
    1. get_file_md5_digest
    1. get_file_md5_hexdigest
    1. get_file_sha
    1. get_file_sha1
    1. get_file_sha1_base64
    1. get_file_sha1_digest
    1. get_file_sha1_hexdigest
    1. get_file_sha224
    1. get_file_sha224_base64
    1. get_file_sha224_digest
    1. get_file_sha224_hexdigest
    1. get_file_sha256
    1. get_file_sha256_base64
    1. get_file_sha256_digest
    1. get_file_sha256_hexdigest
    1. get_file_sha384
    1. get_file_sha384_base64
    1. get_file_sha384_digest
    1. get_file_sha384_hexdigest
    1. get_file_sha3_224
    1. get_file_sha3_224_base64
    1. get_file_sha3_224_digest
    1. get_file_sha3_224_hexdigest
    1. get_file_sha3_256
    1. get_file_sha3_256_base64
    1. get_file_sha3_256_digest
    1. get_file_sha3_256_hexdigest
    1. get_file_sha3_384
    1. get_file_sha3_384_base64
    1. get_file_sha3_384_digest
    1. get_file_sha3_384_hexdigest
    1. get_file_sha3_512
    1. get_file_sha3_512_base64
    1. get_file_sha3_512_digest
    1. get_file_sha3_512_hexdigest
    1. get_file_sha512
    1. get_file_sha512_base64
    1. get_file_sha512_digest
    1. get_file_sha512_hexdigest
    1. get_file_sha_base64
    1. get_file_sha_digest
    1. get_file_sha_hexdigest
    1. get_file_sm3
    1. get_file_sm3_base64
    1. get_file_sm3_digest
    1. get_file_sm3_hexdigest
    1. get_file_xxh128
    1. get_file_xxh128_base64
    1. get_file_xxh128_digest
    1. get_file_xxh128_hexdigest
    1. get_file_xxh32
    1. get_file_xxh32_base64
    1. get_file_xxh32_digest
    1. get_file_xxh32_hexdigest
    1. get_file_xxh64
    1. get_file_xxh64_base64
    1. get_file_xxh64_digest
    1. get_file_xxh64_hexdigest
    1. get_hash
    1. get_hash_base64
    1. get_hash_digest
    1. get_hash_hexdigest
    1. get_hash_result
    1. get_md5
    1. get_md5_base64
    1. get_md5_digest
    1. get_md5_hexdigest
    1. get_password_hash
    1. get_password_hash_methods
    1. get_pbkdf2_blake2b
    1. get_pbkdf2_blake2s
    1. get_pbkdf2_hmac
    1. get_pbkdf2_md5
    1. get_pbkdf2_sha
    1. get_pbkdf2_sha1
    1. get_pbkdf2_sha224
    1. get_pbkdf2_sha256
    1. get_pbkdf2_sha384
    1. get_pbkdf2_sha3_224
    1. get_pbkdf2_sha3_256
    1. get_pbkdf2_sha3_384
    1. get_pbkdf2_sha3_512
    1. get_pbkdf2_sha512
    1. get_pbkdf2_sm3
    1. get_pbkdf2_xxh128
    1. get_pbkdf2_xxh32
    1. get_pbkdf2_xxh64
    1. get_salted_hash_base64
    1. get_sha
    1. get_sha1
    1. get_sha1_base64
    1. get_sha1_digest
    1. get_sha1_hexdigest
    1. get_sha224
    1. get_sha224_base64
    1. get_sha224_digest
    1. get_sha224_hexdigest
    1. get_sha256
    1. get_sha256_base64
    1. get_sha256_digest
    1. get_sha256_hexdigest
    1. get_sha384
    1. get_sha384_base64
    1. get_sha384_digest
    1. get_sha384_hexdigest
    1. get_sha3_224
    1. get_sha3_224_base64
    1. get_sha3_224_digest
    1. get_sha3_224_hexdigest
    1. get_sha3_256
    1. get_sha3_256_base64
    1. get_sha3_256_digest
    1. get_sha3_256_hexdigest
    1. get_sha3_384
    1. get_sha3_384_base64
    1. get_sha3_384_digest
    1. get_sha3_384_hexdigest
    1. get_sha3_512
    1. get_sha3_512_base64
    1. get_sha3_512_digest
    1. get_sha3_512_hexdigest
    1. get_sha512
    1. get_sha512_base64
    1. get_sha512_digest
    1. get_sha512_hexdigest
    1. get_sha_base64
    1. get_sha_digest
    1. get_sha_hexdigest
    1. get_sm3
    1. get_sm3_base64
    1. get_sm3_digest
    1. get_sm3_hexdigest
    1. get_xxh128
    1. get_xxh128_base64
    1. get_xxh128_digest
    1. get_xxh128_hexdigest
    1. get_xxh32
    1. get_xxh32_base64
    1. get_xxh32_digest
    1. get_xxh32_hexdigest
    1. get_xxh64
    1. get_xxh64_base64
    1. get_xxh64_digest
    1. get_xxh64_hexdigest
    1. is_the_same_hash_method
    1. method_load
    1. new
    1. pbkdf2_hmac
    1. register_hexlify_password_hash
    1. register_password_hash_method
    1. register_pbkdf2_password_hash
    1. register_simple_password_hash
    1. register_simple_salt_password_hash
    1. setup_hash_method_loader
    1. validate_password_hash
    1. validate_pbkdf2_blake2b
    1. validate_pbkdf2_blake2s
    1. validate_pbkdf2_hmac
    1. validate_pbkdf2_md5
    1. validate_pbkdf2_sha
    1. validate_pbkdf2_sha1
    1. validate_pbkdf2_sha224
    1. validate_pbkdf2_sha256
    1. validate_pbkdf2_sha384
    1. validate_pbkdf2_sha3_224
    1. validate_pbkdf2_sha3_256
    1. validate_pbkdf2_sha3_384
    1. validate_pbkdf2_sha3_512
    1. validate_pbkdf2_sha512
    1. validate_pbkdf2_sm3
    1. validate_pbkdf2_xxh128
    1. validate_pbkdf2_xxh32
    1. validate_pbkdf2_xxh64
1. zenutils.httputils
    1. download
    1. get_sitename
    1. get_url_filename
    1. get_url_save_path
    1. get_urlinfo
    1. urlparse
1. zenutils.importutils
    1. get_caller_globals
    1. get_caller_locals
    1. import_from_string
    1. import_module
1. zenutils.jsonutils
    1. SimpleJsonEncoder
    1. make_simple_json_encoder
    1. register_global_encoder
    1. simple_json_dumps
1. zenutils.listutils
    1. append_new
    1. chunk
    1. clean_none
    1. compare
    1. compare_execute
    1. first
    1. group
    1. ignore_none_element
    1. int_list_to_bytes
    1. is_ordered
    1. list2dict
    1. pad
    1. replace
    1. topological_sort
    1. topological_test
    1. unique
1. zenutils.logutils
    1. get_console_handler
    1. get_file_handler
    1. get_simple_config
    1. setup
1. zenutils.nameutils
    1. get_last_names
    1. get_random_name
    1. get_suggest_first_names
    1. guess_lastname
    1. guess_surname
1. zenutils.numericutils
    1. _infinity
    1. binary_decompose
    1. bytes2ints
    1. decimal_change_base
    1. float_split
    1. from_bytes
    1. get_float_part
    1. infinity
    1. int2bytes
    1. ints2bytes
    1. is_infinity
    1. ninfinity
    1. pinfinity
1. zenutils.packutils
    1. AbstractResultPacker
    1. RcmPacker
1. zenutils.perfutils
    1. timeit
1. zenutils.randomutils
    1. Lcg31Random
    1. Random
    1. UuidGenerator
    1. choices
    1. get_password_seed32
    1. uuid1
    1. uuid3
    1. uuid4
    1. uuid5
1. zenutils.serviceutils
    1. DebugService
    1. ServiceBase
1. zenutils.sixutils
    1. BASESTRING_TYPES
    1. BYTES
    1. BYTES_TYPE
    1. INT_TO_BYTES
    1. NUMERIC_TYPES
    1. PY2
    1. PY3
    1. STR_TYPE
    1. TEXT
    1. bchar
    1. bstr_to_array
    1. bytes_to_array
    1. create_new_class
    1. default_encoding
    1. default_encodings
    1. force_bytes
    1. force_text
    1. unicode
1. zenutils.socketserverutils
    1. NStreamExchangeProtocolBase
    1. ServerEngineBase
    1. ServerHandle
1. zenutils.strutils
    1. BAI
    1. BASE64_CHARS
    1. HEXLIFY_CHARS
    1. QIAN
    1. SHI
    1. StrUtils
    1. URLSAFEB64_CHARS
    1. WAN
    1. YI
    1. binarify
    1. bytes2ints
    1. camel
    1. captital_number
    1. char_force_to_int
    1. chunk
    1. clean
    1. combinations
    1. combinations2
    1. decodable
    1. default_cn_digits
    1. default_cn_float_places
    1. default_cn_negative
    1. default_cn_places
    1. default_cn_yuan
    1. default_encoding
    1. default_encodings
    1. default_quotes
    1. default_random_string_choices
    1. do_clean
    1. encodable
    1. force_float
    1. force_int
    1. force_numberic
    1. force_type_to
    1. format_with_mapping
    1. get_all_substrings
    1. get_base64image
    1. get_image_bytes
    1. html_element_css_append
    1. int2bytes
    1. ints2bytes
    1. is_base64_decodable
    1. is_chinese_character
    1. is_hex_digits
    1. is_str_composed_by_the_choices
    1. is_unhexlifiable
    1. is_urlsafeb64_decodable
    1. is_uuid
    1. join_lines
    1. no_mapping
    1. none_to_empty_string
    1. parse_base64image
    1. random_string
    1. remove_prefix
    1. remove_suffix
    1. reverse
    1. simple_cn_yuan
    1. simplesplit
    1. smart_get_binary_data
    1. split
    1. split2
    1. str_composed_by
    1. stringlist_append
    1. strip_string
    1. substrings
    1. text_display_length
    1. text_display_shorten
    1. unbinarify
    1. unquote
    1. wholestrip
1. zenutils.sysutils
    1. default_timeout_kill
    1. execute_script
    1. get_current_thread_id
    1. get_node_ip
    1. get_random_script_name
    1. get_worker_id
    1. psutil_timeout_kill
1. zenutils.threadutils
    1. ConcurrentLimitJobQueue
    1. Counter
    1. Future
    1. JobExecuteTimeout
    1. JobQueue
    1. JobResultNotSet
    1. LoopIdle
    1. Service
    1. ServiceStop
    1. ServiceTerminate
    1. SimpleConsumer
    1. SimpleProducer
    1. SimpleProducerConsumerServer
    1. SimpleServer
    1. StartOnTerminatedService
1. zenutils.treeutils
    1. SimpleRouterTree
    1. build_tree
    1. print_tree
    1. print_tree_callback
    1. tree_walk
1. zenutils.typingutils
    1. Number
    1. STRING_ENCODINGS
    1. register_global_caster
    1. smart_cast
1. zenutils.xmlrpcutils
    1. SimpleAuthMixin
    1. SimpleAuthSafeTransport
    1. SimpleAuthTransport

## Compatibility

Test passed with python versions:

1. Python 2.7 passed
1. Python 3.2 passed
1. Python 3.3 passed
1. Python 3.4 passed
1. Python 3.5 passed
1. Python 3.7 passed
1. Python 3.8 passed
1. Python 3.9 passed
1. Python 3.10 passed
1. Python 3.11 passed

## Release

### v0.1.0

- First release.

### v0.2.0

- Add treeutils.SimpleRouterTree.
- Add randomutils.HashPrng.
- Add hashutils.get_password_hash and hashutils.validate_password_hash.
- Add dictutils.HttpHeadersDict.
- Add sysutils.get_node_ip.

### v0.3.1

- Add funcutils.retry.
- Fix hashutils.validate_password_hash problem.

### v0.3.2

- Add sm3 hash support in hashutils.
- Add xxhash hash support in hashutils.
- Export hashutils.pbkdf2_hmac to work with your self defined hash methods.
- Fix problem in sysutils.get_random_script_name on windows.
- Fix path string problem in tests.test_httputils on windows.

### v0.3.3

- Fix funcutils.isclass can not detect classes with metaclass. Use inspect.isclass instead.
- Add cacheutils.cache.

### v0.3.5

- Change default log file path from `pwd`/app.log to `pwd`/logs/app.log.
- Add fsutils.get_swap_filename.
- Add fsutils.safe_write.
- Add fsutils.get_safe_filename.

### v0.3.6

- Add sixutils.create_new_class.
- Fix hashutils problem in python3.3 and below.
- Extend numericutils.int2bytes as int.to_bytes.

### V0.3.7

- Add randomutils.Lcg31Random.
- Add randomutils.get_password_seed32.

### v0.3.8

- Fix force_text in handling NON-STR type data.

### v0.3.9

- Add delete_script parameter in fsutils.execute_script.

### v0.3.12

- dictutils.Object add select method.
- Add errorutils.
- Add packutils.
- Add perfutils.
- Add serviceutils.

### v0.3.15

- Add serviceutils.ServerEngineBase.

### v0.3.16

- Rename serviceutils.ServerEngineBase to socketserverutils.ServerEngineBase.
- Add socketserverutils.NStreamExchangeProtocolBase.
- Add ServerHandle.

### v0.3.19

- Fix NStreamExchangeProtocolBase makefile buffering problem for py2.7.
- Fix log format problem in old version python.
- Add more exception classes in errorutils.
- Add dateutils.
- Add errorutils.AuthenticationRequired.

### v0.3.23

- Fix logger.error missing msg problem.
- Add threadutils.ConcurrentLimitJobQueue.

### v0.4.8

- Fix *args problem in call_with_inject.
- Change serviceutils.ServiceBase.register_to.
- Add cacheutils.ReqIdCache.
- Add xmlrpcutils.SimpleAuthTransport.
- Add xmlrpcutils.SimpleAuthSafeTransport.
- Add threadutils.JobQueue.
- Add threadutils.Future.
- Add funcutils.get_method_help.
- Add funcutils.get_method_signature.

### v0.4.9

- Add cacheutils.simple_cache.

### v0.4.10

- Fix readme document.
- Fix pylint warnings.
- Unit test problems fix.

### v0.5.0

- Add sixutils.unicode.

### v0.5.1

- Fix logutils default format missing space between thread and module fields.

### v0.5.2

- Add hashutils.get_hash_digest.
- Add log_to_console and log_to_file option in logutils.get_simple_config.

### v0.5.3

- Fix jsonutils.simple_json_dumps for set value problem.

### v0.5.4

- fsutils.safe_write add timestr suffix.

### v0.5.5

- Remove tests from release package.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "zenutils",
    "maintainer": "Xin HaoJia",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "zenutils",
    "author": "Xin HaoJia",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/dc/12/8f1bdf53ee90918685fc2678a70d9ef3809de3f0d1f182dfb0252cb90b0f/zenutils-0.5.5.tar.gz",
    "platform": null,
    "description": "# zenutils\n\nCollection of simple utils. \n\n## Install\n\n```\npip install zenutils\n```\n\n## Extra packages requires\n\n- For python3.2 and python2.x, requires extra package: inspect2~=0.1.2\n- For user who is using xxhash methods with hashutils, requires extra package: xxhash\n- For user who is using sm3 methods with hashutils, requires extra package: sm3utils.\n- If your python installation's hashlib already support sm3 hash method, you don't have to install sm3utils.\n- xxhash and sm3utils are not put into this package's requirements, you need to install them by your self.\n\n## Notice\n\n- The hashutils' hash methods are different on different python installations. The list below is based on Python 3.10.6 x86_64 on windows. Mostly md5, sha1, sha224, sha256, sha384, sha512 methods are supported.\n- The hashutils' DEFAULT_HASH_METHOD is sm3 and DEFAULT_PASSWORD_HASH_METHOD is ssm3, so if your python installation is not support sm3 hash method, you need to install sm3utils by yourself.\n\n## Utils\n\n1. zenutils.base64utils\n    1. a85decode\n    1. a85encode\n    1. b16decode\n    1. b16encode\n    1. b32decode\n    1. b32encode\n    1. b32hexdecode\n    1. b32hexencode\n    1. b64decode\n    1. b64encode\n    1. b85decode\n    1. b85encode\n    1. decode\n    1. decodebytes\n    1. encode\n    1. encodebytes\n    1. standard_b64decode\n    1. standard_b64encode\n    1. urlsafe_b64decode\n    1. urlsafe_b64encode\n1. zenutils.baseutils\n    1. Null\n1. zenutils.cacheutils\n    1. ReqIdCache\n    1. cache\n    1. get_cached_value\n    1. simple_cache\n1. zenutils.cipherutils\n    1. Base64Encoder\n    1. CipherBase\n    1. DecryptFailed\n    1. EncoderBase\n    1. HexlifyEncoder\n    1. IvCipher\n    1. IvfCipher\n    1. MappingCipher\n    1. RawDataEncoder\n    1. S12Cipher\n    1. S1Cipher\n    1. S2Cipher\n    1. SafeBase64Encoder\n    1. Utf8Encoder\n1. zenutils.dateutils\n    1. get_days\n    1. get_months\n    1. get_years\n1. zenutils.dictutils\n    1. HttpHeadersDict\n    1. Object\n    1. attrgetorset\n    1. attrset\n    1. change\n    1. changes\n    1. deep_merge\n    1. diff\n    1. fix_object\n    1. ignore_none_item\n    1. prefix_key\n    1. select\n    1. to_object\n    1. touch\n    1. update\n1. zenutils.errorutils\n    1. AccessDenied\n    1. AccountDisabledError\n    1. AccountLockedError\n    1. AccountRemovedError\n    1. AccountStatusError\n    1. AccountTemporaryLockedError\n    1. AnotherServiceError\n    1. AppAuthFailed\n    1. AuthError\n    1. BadParameter\n    1. BadParameterType\n    1. BadResponseContent\n    1. BadUserToken\n    1. BizError\n    1. BizErrorBase\n    1. CacheError\n    1. CaptchaOnlyAllowedOnce\n    1. CaptchaRequired\n    1. CaptchaValidateFailed\n    1. CastFailedError\n    1. CastToBooleanFailed\n    1. CastToFloatFailed\n    1. CastToIntegerFailed\n    1. CastToNumbericFailed\n    1. CastToStringFailed\n    1. ClientLostError\n    1. ConfigError\n    1. DataError\n    1. DatabaseError\n    1. EventNotRegistered\n    1. FormError\n    1. HttpError\n    1. InformalRequestError\n    1. InformalResultPackage\n    1. InformalResultPackage\n    1. LogicError\n    1. LoginRequired\n    1. MessageQueueError\n    1. MissingConfigItem\n    1. MissingField\n    1. MissingParameter\n    1. NetworkError\n    1. NoAccessPermissionError\n    1. NoDeletePermissionError\n    1. NoMatchingRouteFound\n    1. NoPermissionError\n    1. NoPermissionToCleanCacheError\n    1. NoReadPermissionError\n    1. NoUpstreamServerAvailabe\n    1. NoWritePermissionError\n    1. NotSupportedHttpMethod\n    1. NotSupportedTypeToCast\n    1. OK\n    1. ParamError\n    1. ParseJsonError\n    1. PermissionError\n    1. RepeatedlySubmitForm\n    1. ReqeustForbidden\n    1. ReqidDuplicateError\n    1. RequestExpired\n    1. SYSTEM_ERROR_CODE_MAPPING\n    1. ServiceError\n    1. StringTooLong\n    1. StringTooShort\n    1. SysError\n    1. TargetNotFound\n    1. TooLargeRequestError\n    1. TsExpiredError\n    1. TypeError\n    1. UndefinedError\n    1. UserDoesNotExist\n    1. UserPasswordError\n    1. ValueExceedsMaxLimit\n    1. ValueLessThanMinLimit\n    1. WrongFieldType\n    1. WrongParameterType\n    1. clean_language_name\n    1. get_error_info\n    1. get_language\n    1. set_error_info\n    1. set_language\n1. zenutils.fsutils\n    1. TemporaryFile\n    1. copy\n    1. expand\n    1. file_content_replace\n    1. filecopy\n    1. first_exists_file\n    1. get_application_config_filepath\n    1. get_application_config_paths\n    1. get_safe_filename\n    1. get_size_deviation\n    1. get_size_display\n    1. get_swap_filename\n    1. get_temp_workspace\n    1. get_unit_size\n    1. info\n    1. mkdir\n    1. move\n    1. pathjoin\n    1. readfile\n    1. rename\n    1. rm\n    1. safe_write\n    1. size_unit_names\n    1. size_unit_upper_limit\n    1. touch\n    1. treecopy\n    1. write\n1. zenutils.funcutils\n    1. BunchCallable\n    1. ChainableProxy\n    1. call_with_inject\n    1. chain\n    1. classproperty\n    1. get_all_builtin_exceptions\n    1. get_builtins_dict\n    1. get_class_name\n    1. get_default_values\n    1. get_inject_params\n    1. get_method_help\n    1. get_method_signature\n    1. inspect\n    1. is_a_class\n    1. isclass\n    1. mcall_with_inject\n    1. signature\n    1. try_again_on_error\n1. zenutils.hashutils\n    1. Base64ResultEncoder\n    1. Blake2BHexlifyPasswordHash\n    1. Blake2BPbkdf2PasswordHash\n    1. Blake2BPbkdf2PasswordHashColon\n    1. Blake2BSimplePasswordHash\n    1. Blake2BSimpleSaltPasswordHash\n    1. Blake2SHexlifyPasswordHash\n    1. Blake2SPbkdf2PasswordHash\n    1. Blake2SPbkdf2PasswordHashColon\n    1. Blake2SSimplePasswordHash\n    1. Blake2SSimpleSaltPasswordHash\n    1. DigestResultEncoder\n    1. HexlifyPasswordHashBase\n    1. HexlifyResultEncoder\n    1. Md5HexlifyPasswordHash\n    1. Md5Pbkdf2PasswordHash\n    1. Md5Pbkdf2PasswordHashColon\n    1. Md5SimplePasswordHash\n    1. Md5SimpleSaltPasswordHash\n    1. PasswordHashMethodBase\n    1. PasswordHashMethodNotSupportError\n    1. Pbkdf2PasswordHashBase\n    1. ResultEncoderBase\n    1. Sha1HexlifyPasswordHash\n    1. Sha1Pbkdf2PasswordHash\n    1. Sha1Pbkdf2PasswordHashColon\n    1. Sha1SimplePasswordHash\n    1. Sha1SimpleSaltPasswordHash\n    1. Sha224HexlifyPasswordHash\n    1. Sha224Pbkdf2PasswordHash\n    1. Sha224Pbkdf2PasswordHashColon\n    1. Sha224SimplePasswordHash\n    1. Sha224SimpleSaltPasswordHash\n    1. Sha256HexlifyPasswordHash\n    1. Sha256Pbkdf2PasswordHash\n    1. Sha256Pbkdf2PasswordHashColon\n    1. Sha256SimplePasswordHash\n    1. Sha256SimpleSaltPasswordHash\n    1. Sha384HexlifyPasswordHash\n    1. Sha384Pbkdf2PasswordHash\n    1. Sha384Pbkdf2PasswordHashColon\n    1. Sha384SimplePasswordHash\n    1. Sha384SimpleSaltPasswordHash\n    1. Sha3_224HexlifyPasswordHash\n    1. Sha3_224Pbkdf2PasswordHash\n    1. Sha3_224Pbkdf2PasswordHashColon\n    1. Sha3_224SimplePasswordHash\n    1. Sha3_224SimpleSaltPasswordHash\n    1. Sha3_256HexlifyPasswordHash\n    1. Sha3_256Pbkdf2PasswordHash\n    1. Sha3_256Pbkdf2PasswordHashColon\n    1. Sha3_256SimplePasswordHash\n    1. Sha3_256SimpleSaltPasswordHash\n    1. Sha3_384HexlifyPasswordHash\n    1. Sha3_384Pbkdf2PasswordHash\n    1. Sha3_384Pbkdf2PasswordHashColon\n    1. Sha3_384SimplePasswordHash\n    1. Sha3_384SimpleSaltPasswordHash\n    1. Sha3_512HexlifyPasswordHash\n    1. Sha3_512Pbkdf2PasswordHash\n    1. Sha3_512Pbkdf2PasswordHashColon\n    1. Sha3_512SimplePasswordHash\n    1. Sha3_512SimpleSaltPasswordHash\n    1. Sha512HexlifyPasswordHash\n    1. Sha512Pbkdf2PasswordHash\n    1. Sha512Pbkdf2PasswordHashColon\n    1. Sha512SimplePasswordHash\n    1. Sha512SimpleSaltPasswordHash\n    1. ShaHexlifyPasswordHash\n    1. ShaPbkdf2PasswordHash\n    1. ShaPbkdf2PasswordHashColon\n    1. ShaSimplePasswordHash\n    1. ShaSimpleSaltPasswordHash\n    1. SimplePasswordHashBase\n    1. SimpleSaltPasswordHashBase\n    1. Sm3HexlifyPasswordHash\n    1. Sm3Pbkdf2PasswordHash\n    1. Sm3Pbkdf2PasswordHashColon\n    1. Sm3SimplePasswordHash\n    1. Sm3SimpleSaltPasswordHash\n    1. Xxh128HexlifyPasswordHash\n    1. Xxh128Pbkdf2PasswordHash\n    1. Xxh128Pbkdf2PasswordHashColon\n    1. Xxh128SimplePasswordHash\n    1. Xxh128SimpleSaltPasswordHash\n    1. Xxh32HexlifyPasswordHash\n    1. Xxh32Pbkdf2PasswordHash\n    1. Xxh32Pbkdf2PasswordHashColon\n    1. Xxh32SimplePasswordHash\n    1. Xxh32SimpleSaltPasswordHash\n    1. Xxh64HexlifyPasswordHash\n    1. Xxh64Pbkdf2PasswordHash\n    1. Xxh64Pbkdf2PasswordHashColon\n    1. Xxh64SimplePasswordHash\n    1. Xxh64SimpleSaltPasswordHash\n    1. algorithms_available\n    1. get_blake2b\n    1. get_blake2b_base64\n    1. get_blake2b_digest\n    1. get_blake2b_hexdigest\n    1. get_blake2s\n    1. get_blake2s_base64\n    1. get_blake2s_digest\n    1. get_blake2s_hexdigest\n    1. get_file_blake2b\n    1. get_file_blake2b_base64\n    1. get_file_blake2b_digest\n    1. get_file_blake2b_hexdigest\n    1. get_file_blake2s\n    1. get_file_blake2s_base64\n    1. get_file_blake2s_digest\n    1. get_file_blake2s_hexdigest\n    1. get_file_hash\n    1. get_file_hash_base64\n    1. get_file_hash_hexdigest\n    1. get_file_hash_result\n    1. get_file_md5\n    1. get_file_md5_base64\n    1. get_file_md5_digest\n    1. get_file_md5_hexdigest\n    1. get_file_sha\n    1. get_file_sha1\n    1. get_file_sha1_base64\n    1. get_file_sha1_digest\n    1. get_file_sha1_hexdigest\n    1. get_file_sha224\n    1. get_file_sha224_base64\n    1. get_file_sha224_digest\n    1. get_file_sha224_hexdigest\n    1. get_file_sha256\n    1. get_file_sha256_base64\n    1. get_file_sha256_digest\n    1. get_file_sha256_hexdigest\n    1. get_file_sha384\n    1. get_file_sha384_base64\n    1. get_file_sha384_digest\n    1. get_file_sha384_hexdigest\n    1. get_file_sha3_224\n    1. get_file_sha3_224_base64\n    1. get_file_sha3_224_digest\n    1. get_file_sha3_224_hexdigest\n    1. get_file_sha3_256\n    1. get_file_sha3_256_base64\n    1. get_file_sha3_256_digest\n    1. get_file_sha3_256_hexdigest\n    1. get_file_sha3_384\n    1. get_file_sha3_384_base64\n    1. get_file_sha3_384_digest\n    1. get_file_sha3_384_hexdigest\n    1. get_file_sha3_512\n    1. get_file_sha3_512_base64\n    1. get_file_sha3_512_digest\n    1. get_file_sha3_512_hexdigest\n    1. get_file_sha512\n    1. get_file_sha512_base64\n    1. get_file_sha512_digest\n    1. get_file_sha512_hexdigest\n    1. get_file_sha_base64\n    1. get_file_sha_digest\n    1. get_file_sha_hexdigest\n    1. get_file_sm3\n    1. get_file_sm3_base64\n    1. get_file_sm3_digest\n    1. get_file_sm3_hexdigest\n    1. get_file_xxh128\n    1. get_file_xxh128_base64\n    1. get_file_xxh128_digest\n    1. get_file_xxh128_hexdigest\n    1. get_file_xxh32\n    1. get_file_xxh32_base64\n    1. get_file_xxh32_digest\n    1. get_file_xxh32_hexdigest\n    1. get_file_xxh64\n    1. get_file_xxh64_base64\n    1. get_file_xxh64_digest\n    1. get_file_xxh64_hexdigest\n    1. get_hash\n    1. get_hash_base64\n    1. get_hash_digest\n    1. get_hash_hexdigest\n    1. get_hash_result\n    1. get_md5\n    1. get_md5_base64\n    1. get_md5_digest\n    1. get_md5_hexdigest\n    1. get_password_hash\n    1. get_password_hash_methods\n    1. get_pbkdf2_blake2b\n    1. get_pbkdf2_blake2s\n    1. get_pbkdf2_hmac\n    1. get_pbkdf2_md5\n    1. get_pbkdf2_sha\n    1. get_pbkdf2_sha1\n    1. get_pbkdf2_sha224\n    1. get_pbkdf2_sha256\n    1. get_pbkdf2_sha384\n    1. get_pbkdf2_sha3_224\n    1. get_pbkdf2_sha3_256\n    1. get_pbkdf2_sha3_384\n    1. get_pbkdf2_sha3_512\n    1. get_pbkdf2_sha512\n    1. get_pbkdf2_sm3\n    1. get_pbkdf2_xxh128\n    1. get_pbkdf2_xxh32\n    1. get_pbkdf2_xxh64\n    1. get_salted_hash_base64\n    1. get_sha\n    1. get_sha1\n    1. get_sha1_base64\n    1. get_sha1_digest\n    1. get_sha1_hexdigest\n    1. get_sha224\n    1. get_sha224_base64\n    1. get_sha224_digest\n    1. get_sha224_hexdigest\n    1. get_sha256\n    1. get_sha256_base64\n    1. get_sha256_digest\n    1. get_sha256_hexdigest\n    1. get_sha384\n    1. get_sha384_base64\n    1. get_sha384_digest\n    1. get_sha384_hexdigest\n    1. get_sha3_224\n    1. get_sha3_224_base64\n    1. get_sha3_224_digest\n    1. get_sha3_224_hexdigest\n    1. get_sha3_256\n    1. get_sha3_256_base64\n    1. get_sha3_256_digest\n    1. get_sha3_256_hexdigest\n    1. get_sha3_384\n    1. get_sha3_384_base64\n    1. get_sha3_384_digest\n    1. get_sha3_384_hexdigest\n    1. get_sha3_512\n    1. get_sha3_512_base64\n    1. get_sha3_512_digest\n    1. get_sha3_512_hexdigest\n    1. get_sha512\n    1. get_sha512_base64\n    1. get_sha512_digest\n    1. get_sha512_hexdigest\n    1. get_sha_base64\n    1. get_sha_digest\n    1. get_sha_hexdigest\n    1. get_sm3\n    1. get_sm3_base64\n    1. get_sm3_digest\n    1. get_sm3_hexdigest\n    1. get_xxh128\n    1. get_xxh128_base64\n    1. get_xxh128_digest\n    1. get_xxh128_hexdigest\n    1. get_xxh32\n    1. get_xxh32_base64\n    1. get_xxh32_digest\n    1. get_xxh32_hexdigest\n    1. get_xxh64\n    1. get_xxh64_base64\n    1. get_xxh64_digest\n    1. get_xxh64_hexdigest\n    1. is_the_same_hash_method\n    1. method_load\n    1. new\n    1. pbkdf2_hmac\n    1. register_hexlify_password_hash\n    1. register_password_hash_method\n    1. register_pbkdf2_password_hash\n    1. register_simple_password_hash\n    1. register_simple_salt_password_hash\n    1. setup_hash_method_loader\n    1. validate_password_hash\n    1. validate_pbkdf2_blake2b\n    1. validate_pbkdf2_blake2s\n    1. validate_pbkdf2_hmac\n    1. validate_pbkdf2_md5\n    1. validate_pbkdf2_sha\n    1. validate_pbkdf2_sha1\n    1. validate_pbkdf2_sha224\n    1. validate_pbkdf2_sha256\n    1. validate_pbkdf2_sha384\n    1. validate_pbkdf2_sha3_224\n    1. validate_pbkdf2_sha3_256\n    1. validate_pbkdf2_sha3_384\n    1. validate_pbkdf2_sha3_512\n    1. validate_pbkdf2_sha512\n    1. validate_pbkdf2_sm3\n    1. validate_pbkdf2_xxh128\n    1. validate_pbkdf2_xxh32\n    1. validate_pbkdf2_xxh64\n1. zenutils.httputils\n    1. download\n    1. get_sitename\n    1. get_url_filename\n    1. get_url_save_path\n    1. get_urlinfo\n    1. urlparse\n1. zenutils.importutils\n    1. get_caller_globals\n    1. get_caller_locals\n    1. import_from_string\n    1. import_module\n1. zenutils.jsonutils\n    1. SimpleJsonEncoder\n    1. make_simple_json_encoder\n    1. register_global_encoder\n    1. simple_json_dumps\n1. zenutils.listutils\n    1. append_new\n    1. chunk\n    1. clean_none\n    1. compare\n    1. compare_execute\n    1. first\n    1. group\n    1. ignore_none_element\n    1. int_list_to_bytes\n    1. is_ordered\n    1. list2dict\n    1. pad\n    1. replace\n    1. topological_sort\n    1. topological_test\n    1. unique\n1. zenutils.logutils\n    1. get_console_handler\n    1. get_file_handler\n    1. get_simple_config\n    1. setup\n1. zenutils.nameutils\n    1. get_last_names\n    1. get_random_name\n    1. get_suggest_first_names\n    1. guess_lastname\n    1. guess_surname\n1. zenutils.numericutils\n    1. _infinity\n    1. binary_decompose\n    1. bytes2ints\n    1. decimal_change_base\n    1. float_split\n    1. from_bytes\n    1. get_float_part\n    1. infinity\n    1. int2bytes\n    1. ints2bytes\n    1. is_infinity\n    1. ninfinity\n    1. pinfinity\n1. zenutils.packutils\n    1. AbstractResultPacker\n    1. RcmPacker\n1. zenutils.perfutils\n    1. timeit\n1. zenutils.randomutils\n    1. Lcg31Random\n    1. Random\n    1. UuidGenerator\n    1. choices\n    1. get_password_seed32\n    1. uuid1\n    1. uuid3\n    1. uuid4\n    1. uuid5\n1. zenutils.serviceutils\n    1. DebugService\n    1. ServiceBase\n1. zenutils.sixutils\n    1. BASESTRING_TYPES\n    1. BYTES\n    1. BYTES_TYPE\n    1. INT_TO_BYTES\n    1. NUMERIC_TYPES\n    1. PY2\n    1. PY3\n    1. STR_TYPE\n    1. TEXT\n    1. bchar\n    1. bstr_to_array\n    1. bytes_to_array\n    1. create_new_class\n    1. default_encoding\n    1. default_encodings\n    1. force_bytes\n    1. force_text\n    1. unicode\n1. zenutils.socketserverutils\n    1. NStreamExchangeProtocolBase\n    1. ServerEngineBase\n    1. ServerHandle\n1. zenutils.strutils\n    1. BAI\n    1. BASE64_CHARS\n    1. HEXLIFY_CHARS\n    1. QIAN\n    1. SHI\n    1. StrUtils\n    1. URLSAFEB64_CHARS\n    1. WAN\n    1. YI\n    1. binarify\n    1. bytes2ints\n    1. camel\n    1. captital_number\n    1. char_force_to_int\n    1. chunk\n    1. clean\n    1. combinations\n    1. combinations2\n    1. decodable\n    1. default_cn_digits\n    1. default_cn_float_places\n    1. default_cn_negative\n    1. default_cn_places\n    1. default_cn_yuan\n    1. default_encoding\n    1. default_encodings\n    1. default_quotes\n    1. default_random_string_choices\n    1. do_clean\n    1. encodable\n    1. force_float\n    1. force_int\n    1. force_numberic\n    1. force_type_to\n    1. format_with_mapping\n    1. get_all_substrings\n    1. get_base64image\n    1. get_image_bytes\n    1. html_element_css_append\n    1. int2bytes\n    1. ints2bytes\n    1. is_base64_decodable\n    1. is_chinese_character\n    1. is_hex_digits\n    1. is_str_composed_by_the_choices\n    1. is_unhexlifiable\n    1. is_urlsafeb64_decodable\n    1. is_uuid\n    1. join_lines\n    1. no_mapping\n    1. none_to_empty_string\n    1. parse_base64image\n    1. random_string\n    1. remove_prefix\n    1. remove_suffix\n    1. reverse\n    1. simple_cn_yuan\n    1. simplesplit\n    1. smart_get_binary_data\n    1. split\n    1. split2\n    1. str_composed_by\n    1. stringlist_append\n    1. strip_string\n    1. substrings\n    1. text_display_length\n    1. text_display_shorten\n    1. unbinarify\n    1. unquote\n    1. wholestrip\n1. zenutils.sysutils\n    1. default_timeout_kill\n    1. execute_script\n    1. get_current_thread_id\n    1. get_node_ip\n    1. get_random_script_name\n    1. get_worker_id\n    1. psutil_timeout_kill\n1. zenutils.threadutils\n    1. ConcurrentLimitJobQueue\n    1. Counter\n    1. Future\n    1. JobExecuteTimeout\n    1. JobQueue\n    1. JobResultNotSet\n    1. LoopIdle\n    1. Service\n    1. ServiceStop\n    1. ServiceTerminate\n    1. SimpleConsumer\n    1. SimpleProducer\n    1. SimpleProducerConsumerServer\n    1. SimpleServer\n    1. StartOnTerminatedService\n1. zenutils.treeutils\n    1. SimpleRouterTree\n    1. build_tree\n    1. print_tree\n    1. print_tree_callback\n    1. tree_walk\n1. zenutils.typingutils\n    1. Number\n    1. STRING_ENCODINGS\n    1. register_global_caster\n    1. smart_cast\n1. zenutils.xmlrpcutils\n    1. SimpleAuthMixin\n    1. SimpleAuthSafeTransport\n    1. SimpleAuthTransport\n\n## Compatibility\n\nTest passed with python versions:\n\n1. Python 2.7 passed\n1. Python 3.2 passed\n1. Python 3.3 passed\n1. Python 3.4 passed\n1. Python 3.5 passed\n1. Python 3.7 passed\n1. Python 3.8 passed\n1. Python 3.9 passed\n1. Python 3.10 passed\n1. Python 3.11 passed\n\n## Release\n\n### v0.1.0\n\n- First release.\n\n### v0.2.0\n\n- Add treeutils.SimpleRouterTree.\n- Add randomutils.HashPrng.\n- Add hashutils.get_password_hash and hashutils.validate_password_hash.\n- Add dictutils.HttpHeadersDict.\n- Add sysutils.get_node_ip.\n\n### v0.3.1\n\n- Add funcutils.retry.\n- Fix hashutils.validate_password_hash problem.\n\n### v0.3.2\n\n- Add sm3 hash support in hashutils.\n- Add xxhash hash support in hashutils.\n- Export hashutils.pbkdf2_hmac to work with your self defined hash methods.\n- Fix problem in sysutils.get_random_script_name on windows.\n- Fix path string problem in tests.test_httputils on windows.\n\n### v0.3.3\n\n- Fix funcutils.isclass can not detect classes with metaclass. Use inspect.isclass instead.\n- Add cacheutils.cache.\n\n### v0.3.5\n\n- Change default log file path from `pwd`/app.log to `pwd`/logs/app.log.\n- Add fsutils.get_swap_filename.\n- Add fsutils.safe_write.\n- Add fsutils.get_safe_filename.\n\n### v0.3.6\n\n- Add sixutils.create_new_class.\n- Fix hashutils problem in python3.3 and below.\n- Extend numericutils.int2bytes as int.to_bytes.\n\n### V0.3.7\n\n- Add randomutils.Lcg31Random.\n- Add randomutils.get_password_seed32.\n\n### v0.3.8\n\n- Fix force_text in handling NON-STR type data.\n\n### v0.3.9\n\n- Add delete_script parameter in fsutils.execute_script.\n\n### v0.3.12\n\n- dictutils.Object add select method.\n- Add errorutils.\n- Add packutils.\n- Add perfutils.\n- Add serviceutils.\n\n### v0.3.15\n\n- Add serviceutils.ServerEngineBase.\n\n### v0.3.16\n\n- Rename serviceutils.ServerEngineBase to socketserverutils.ServerEngineBase.\n- Add socketserverutils.NStreamExchangeProtocolBase.\n- Add ServerHandle.\n\n### v0.3.19\n\n- Fix NStreamExchangeProtocolBase makefile buffering problem for py2.7.\n- Fix log format problem in old version python.\n- Add more exception classes in errorutils.\n- Add dateutils.\n- Add errorutils.AuthenticationRequired.\n\n### v0.3.23\n\n- Fix logger.error missing msg problem.\n- Add threadutils.ConcurrentLimitJobQueue.\n\n### v0.4.8\n\n- Fix *args problem in call_with_inject.\n- Change serviceutils.ServiceBase.register_to.\n- Add cacheutils.ReqIdCache.\n- Add xmlrpcutils.SimpleAuthTransport.\n- Add xmlrpcutils.SimpleAuthSafeTransport.\n- Add threadutils.JobQueue.\n- Add threadutils.Future.\n- Add funcutils.get_method_help.\n- Add funcutils.get_method_signature.\n\n### v0.4.9\n\n- Add cacheutils.simple_cache.\n\n### v0.4.10\n\n- Fix readme document.\n- Fix pylint warnings.\n- Unit test problems fix.\n\n### v0.5.0\n\n- Add sixutils.unicode.\n\n### v0.5.1\n\n- Fix logutils default format missing space between thread and module fields.\n\n### v0.5.2\n\n- Add hashutils.get_hash_digest.\n- Add log_to_console and log_to_file option in logutils.get_simple_config.\n\n### v0.5.3\n\n- Fix jsonutils.simple_json_dumps for set value problem.\n\n### v0.5.4\n\n- fsutils.safe_write add timestr suffix.\n\n### v0.5.5\n\n- Remove tests from release package.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Collection of simple utils.",
    "version": "0.5.5",
    "project_urls": null,
    "split_keywords": [
        "zenutils"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0664c9cc68ff0967526f38cda79a59481e2c575d79bd8574ebcf4f17f04c9944",
                "md5": "268b9be3815403506bf3d3404a95ead6",
                "sha256": "cfb4018e6c4930b98143d43bde83bd9327bf26110441cc3a2e0d9754d9f7c590"
            },
            "downloads": -1,
            "filename": "zenutils-0.5.5-py2-none-any.whl",
            "has_sig": false,
            "md5_digest": "268b9be3815403506bf3d3404a95ead6",
            "packagetype": "bdist_wheel",
            "python_version": "py2",
            "requires_python": null,
            "size": 94378,
            "upload_time": "2024-08-13T12:06:01",
            "upload_time_iso_8601": "2024-08-13T12:06:01.104437Z",
            "url": "https://files.pythonhosted.org/packages/06/64/c9cc68ff0967526f38cda79a59481e2c575d79bd8574ebcf4f17f04c9944/zenutils-0.5.5-py2-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da4648cf4109d4893fe9c348baf5dd4c0e949bfb6870416dcf1b0f56f326b59d",
                "md5": "522fc675f4c8009d3efc22090809e2f0",
                "sha256": "0903c3777b3dbb9ebd2fe136b953c9c38d214426d3346630a2f6a3a7363e49c5"
            },
            "downloads": -1,
            "filename": "zenutils-0.5.5-py32-none-any.whl",
            "has_sig": false,
            "md5_digest": "522fc675f4c8009d3efc22090809e2f0",
            "packagetype": "bdist_wheel",
            "python_version": "py32",
            "requires_python": null,
            "size": 94377,
            "upload_time": "2024-08-13T12:06:04",
            "upload_time_iso_8601": "2024-08-13T12:06:04.205184Z",
            "url": "https://files.pythonhosted.org/packages/da/46/48cf4109d4893fe9c348baf5dd4c0e949bfb6870416dcf1b0f56f326b59d/zenutils-0.5.5-py32-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4eb80d533ac4a1f20ea1fa39cc0b03da56930deeed349f098c8efc4f70831c92",
                "md5": "fdd96ffdeb8cdf916d0f46708451e5b9",
                "sha256": "be155fd03d7c4a858152ac14435f4ba383e96950aadc555990cd717204206f9e"
            },
            "downloads": -1,
            "filename": "zenutils-0.5.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fdd96ffdeb8cdf916d0f46708451e5b9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 94364,
            "upload_time": "2024-08-13T12:06:03",
            "upload_time_iso_8601": "2024-08-13T12:06:03.047430Z",
            "url": "https://files.pythonhosted.org/packages/4e/b8/0d533ac4a1f20ea1fa39cc0b03da56930deeed349f098c8efc4f70831c92/zenutils-0.5.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc128f1bdf53ee90918685fc2678a70d9ef3809de3f0d1f182dfb0252cb90b0f",
                "md5": "7c4ee6246e2ca3169b1e902d1b684b8f",
                "sha256": "e4d1c517c2264080da523a497d1468d87d003f32ab6f49be0e20ffeca46d0f4a"
            },
            "downloads": -1,
            "filename": "zenutils-0.5.5.tar.gz",
            "has_sig": false,
            "md5_digest": "7c4ee6246e2ca3169b1e902d1b684b8f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 88908,
            "upload_time": "2024-08-13T12:06:05",
            "upload_time_iso_8601": "2024-08-13T12:06:05.807469Z",
            "url": "https://files.pythonhosted.org/packages/dc/12/8f1bdf53ee90918685fc2678a70d9ef3809de3f0d1f182dfb0252cb90b0f/zenutils-0.5.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-13 12:06:05",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "zenutils"
}
        
Elapsed time: 0.65878s