Skip to main content

This is A foundamental package containing some basic self-designed functions and types for Project PyCTLib.

Project description

pyctlib

Introduction

Package pyctlib is the fundamental package for project PyCTLib, a powerful toolkit for python development. This package provides basic functions for fast python v3.6+ programming. It provides easy communication with the inputs and outputs for the operating systems. It provides quick try-catch function touch, useful types like vector, timing tools like timethis and scope as long as manipulation of file path, reading & writing of text/binary files and command line tools.

Installation

This package can be installed by pip install pyctlib or moving the source code to the directory of python libraries (the source code can be downloaded on github or PyPI).

pip install pyctlib

Basic Types

vector

vector is an improved implement of list for python. In addition to original function for list, it has the following advanced usage:

In [1]: from pyctlib.basictype import vector                                         

In [2]: a = vector([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])                                  

In [3]: a.map(lambda x: x * 2)                                                       
Out[3]: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

In [4]: a.filter(lambda x: x % 2 == 0)                                               
Out[4]: [2, 4, 6, 8, 10]

In [5]: a.all(lambda x: x > 1)                                                       
Out[5]: False

In [6]: a.any(lambda x: x == 2)                                                      
Out[6]: True

In [7]: a[a > 7] = 7                                                                 

In [8]: a                                                                            
Out[8]: [1, 2, 3, 4, 5, 6, 7, 7, 7, 7]

In [9]: a.reduce(lambda x, y: x + y)                                                 
Out[9]: 49

In [10]: a.index(lambda x: x % 4 == 0)                                               
Out[10]: 3

File Management

Timing Tools

scope

>>> from pyctlib import scope, jump
>>> with scope("name1"):
...     print("timed1")
...
timed1
[name1 takes 0.000048s]
>>> with scope("name2"), jump:
...     print("timed2")
...
>>>

timethis

>>> from pyctlib import timethis
>>> @timethis
... def func(): print('timed')
... 
>>> func()
timed
[func takes 0.000050s]

Touch function

>>> from pyctlib import touch
>>> touch(lambda: 1/0, 'error')
'error'
>>> touch('a')
>>> a = 4
>>> touch('a')
4

Acknowledgment

@Yiteng Zhang, Yuncheng Zhou: Developers

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

zytlib-0.3.350-py3-none-any.whl (75.5 kB view details)

Uploaded Python 3

File details

Details for the file zytlib-0.3.350-py3-none-any.whl.

File metadata

  • Download URL: zytlib-0.3.350-py3-none-any.whl
  • Upload date:
  • Size: 75.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for zytlib-0.3.350-py3-none-any.whl
Algorithm Hash digest
SHA256 fcfc263c965e5039eec4502e1a0bd7973282c6904e05735c502af96c90fc95ff
MD5 a7226a882714c5bfc9da0ccdad596273
BLAKE2b-256 9830700901abb424f018d0c0bf2f03f37293b8aa32c6f16899cf14494b674e96

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