Skip to main content

Some python useful methods

Project description

https://github.com/IMIO/imio.pyutils/actions/workflows/main.yml/badge.svg?branch=master https://coveralls.io/repos/github/IMIO/imio.pyutils/badge.svg PyPI badge

Introduction

This package provides python useful methods.

It relates to following kinds of operations:

  1. System level operations (system.py)

It provides helper methods to:

  • read and write files,

  • read directories,

  • execute commands,

  • store and load list and dict,

  • trace printing,

  • creating temporary files,

  • etc.

  1. Various python helpers (utils.py)

About:

  • ordereddict and dict manipulations

  • list manipulations

  • duration recording

  1. BeautifulSoup methods (bs.py)

  • remove elements

  • remove attributes

  • remove comments

  • replace entire strings

  • unwrap tags

  1. Postgres level operations (postgres.py). It requires psycopg2 egg !

It provides helper methods to:

  • single or multiple select,

  • insert, update, delete rows,

  • etc.

Tests

Can be run with: bin/python -m unittest discover

Changelog

1.1.1 (2024-09-18)

  • Generated universal wheel version. [sgeulette]

1.1.0 (2024-09-17)

  • Added utils.add_key_if_value to add a key in a dic only if value or is not None. [sgeulette]

  • Moved batching.batch_delete_files from imio.helpers to be used commonly. [sgeulette]

1.0.4 (2024-06-11)

  • Blacked files. [sgeulette]

  • Added system.post_request to send a POST request. [sgeulette]

1.0.3 (2024-05-24)

  • Fix bad release for python2. [aduchene]

1.0.2 (2024-05-15)

  • Added a new helper utils.get_ordinal_clusters to cluster ordinal numbers based on an offset. [aduchene]

1.0.1 (2024-04-08)

  • Added patterns parameter in system.read_dir_filter. [sgeulette]

  • Returned original filename in system.hashed_filename if string to hash is empty. [sgeulette]

1.0.0 (2024-03-05)

  • Require six>=1.16.0. [sgeulette]

  • Added system.hashed_filename to get a new filename differentiated by a hashed string. [sgeulette]

1.0.0a1 (2024-02-08)

  • Handled set in load_var. [sgeulette]

  • Added load_pickle and dump_pickle [sgeulette]

  • Improved bs.is_empty [sgeulette]

1.0.0a (2023-11-28)

  • Made py2 and py3 compliant [sgeulette]

  • Improved utils_safe_encode [sgeulette]

  • Added bs.is_empty function. [sgeulette]

  • Added bs.remove_some_childrens function. [sgeulette]

  • Added bs.replace_strings_by_pattern function [sgeulette]

  • Added exclude_patterns parameter in system.read_recursive_dir [sgeulette]

0.31 (2023-09-26)

  • Added utils.listify that will make sure a given value is always returned as list-like iterable. [gbastien]

  • Improved system.get_git_tag with new parameter to get last tag from all branches [sgeulette]

  • Added utils.radix_like_starting_1 to get list of positional numbers following a given base but starting with 1 [sgeulette]

  • Added utils.letters_sequence to get a letters string corresponding to nth position [sgeulette]

0.30 (2023-07-24)

  • Added system.read_recursive_dir to get files recursively (with relative or full name). [sgeulette]

0.29 (2023-05-12)

  • Improved utils.all_of_dict_values to include optionally a label. [sgeulette]

  • Added setup_logger to modify a given logger independently [sgeulette]

  • Added full_path to prefix filename with path if necessary [sgeulette]

0.28 (2023-03-29)

  • Added utils.one_of_dict_values that gives the first non empty value of a list of keys. [sgeulette]

  • Added utils.all_of_dict_values that returns a not empty values list from a dict following a keys list [sgeulette]

0.27 (2023-02-27)

  • Added utils.sort_by_indexes that will sort a list of values depending on a list of indexes. [gbastien]

0.26 (2022-12-12)

  • Added stop to print error and exit. [sgeulette]

0.25 (2022-09-16)

  • Added get_git_tag. [sgeulette]

0.24 (2022-08-19)

  • Added utils.time_start and utils.time_elapsed to print elapsed time from start. Intended to be easily used when debugging… [sgeulette]

0.23 (2022-07-01)

  • Added utils.append to append a value and return it. [sgeulette]

0.22 (2022-04-28)

  • Added utils.get_clusters to display a list of number grouped by clusters. [gbastien]

0.21 (2022-04-26)

  • Added utils.merge_dicts to be able to merge several dicts for which values are list, list are extended in final result. [gbastien]

0.20 (2022-02-10)

  • Modified memory to return more useful information. [sgeulette]

0.19 (2022-01-21)

  • Added process_memory to return current process memory. [sgeulette]

  • Added memory to return RAM information. [sgeulette]

0.18 (2022-01-12)

  • Made insert_in_ordereddict python3 compatible. [sgeulette]

  • Added odict_pos_key to get key at position in ordereddict. [sgeulette]

0.17 (2022-01-04)

  • Added timed and ftimed functions. [sgeulette]

  • Added OrderedDict for load_var function [sgeulette]

0.16 (2021-10-27)

  • Added iterable_as_list_of_list function. [sgeulette]

  • Added date in runCommand output [sgeulette]

0.15 (2021-04-27)

  • Added ln_key parameter in read_dictcsv method. [sgeulette]

0.14 (2021-04-21)

  • Added read_dictcsv function. [sgeulette]

  • Added utils.replace_in_list function to ease replacement of values in a list. [gbastien]

  • Added safe_encode function. [sgeulette]

0.13 (2020-10-07)

  • Added insert_in_ordereddict function to easier insert a new key at needed position. [sgeulette]

0.12 (2020-05-19)

  • Update syntax for py 3. [odelaere]

0.11 (2018-10-12)

  • Added warning log level function [odelaere]

0.10 (2018-07-23)

  • Added to_skip parameter in read_dir functions. [sgeulette]

0.9 (2017-07-28)

  • Added read_csv function. [sgeulette]

0.8 (2017-07-19)

  • runCommand can append to file. [sgeulette]

0.7 (2017-06-26)

  • Just release on pypi for collective.documentgenerator. [sgeulette]

0.6 (2017-02-08)

  • runCommand: return as third value the return code of the command. [sgeulette]

0.5 (2017-02-08)

  • Added outfile parameter to runCommand. [sgeulette]

0.4 (2016-12-07)

  • Added param to get only files in dir. [sgeulette]

  • Added methods for bs4 (beautifulsoup) [sgeulette]

0.3 (2016-09-21)

  • Return empty list when file doesn’t exist. [sgeulette]

0.2 (2016-04-15)

  • Added options on read_file. [sgeulette]

0.1 (2015-06-03)

  • Initial release. [sgeulette]

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

imio_pyutils-1.1.1.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

imio.pyutils-1.1.1-py2.py3-none-any.whl (18.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file imio_pyutils-1.1.1.tar.gz.

File metadata

  • Download URL: imio_pyutils-1.1.1.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for imio_pyutils-1.1.1.tar.gz
Algorithm Hash digest
SHA256 c45b910a7a8de332de126a5da4d3a7fa919ca34c5ddc4971e3d891fb22a6cd5c
MD5 6c9468e5dd40245ace5a419fe5116563
BLAKE2b-256 21ca35f28d7ed59c0f4bb6196e0df37133ffa2decff22c5607db1732cf75e4af

See more details on using hashes here.

File details

Details for the file imio.pyutils-1.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for imio.pyutils-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a8f3a2c1f8db3dd2fa05a79517f380d87a6170d47cd2b6230c2435067c88c3a5
MD5 1fad17578347dbf0ae03ad29514ec029
BLAKE2b-256 47881921ae4d7792fb9f43e8d6672554e1a2161e26f5c710beb75c0eda16ee90

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