Skip to main content

Atomic Workshop

About The Project

Atomic Workshop is python's library that was built by Denis Kras under Bugsec's roof.

The main purpose of the library is to simplify the process of developing under python. The library is constantly being improved and supplemented with new features. "Atomic" is a key to basic functions that a developer needs in his daily tasks: create directory, iterate over files, read/write files, manipulate lists, dicts, etc.

There are many gems hidden in the library:

  • atomicshop.print_api: this is the main feature of this library. It allows you to print colored text, with different styles, with / without stdout / stderr, RTL text, logger usage. The API will be integrated in every function of the library in the future, so you can easily use it controlling outputs.
  • atomicshop.etw.etw: Windows ETW - Event Tracing, a wrapper for FireEye project's ETW library with much easier API. Since, FireEye didn't update their library for quite a while, maybe another solution will be considered in the future. If you have suggestions, please let me know.
  • atomicshop.etw.dns_trace: Windows DNS Event Tracing, Traces DNS requests / responses (Event ID: 3008) on Windows OSes that support Event Tracing. Outputs the real domain (not CDN: AWS, GoogleCloud, Azure, etc) with PID. Process Name and Command Line can be retrieved by option.
  • atomicshop.sockets: Socket wrapper, can be used to create a server or client and manipulate sockets with relatively easy API. Server tester available.
  • atomicshop.mitm: MITM Proxy, allows you to create a TCP proxy server (works with SSL) that will intercept requests and responses. You can modify them, log them, etc. ReadMe to follow. Based on SocketWrapper.
  • atomicshop.http_parser: parse HTTP requests and responses to dictionary.
  • atomicshop.diff_check.diff_check.DiffChecker: helps on checking if pyhon object, a file or any other thing was updated between checks.
  • atomicshop.gitHub_wrapper: easily download branches and latest releases from GitHub repositories.
  • atomicshop.archiver: extract archives using options.
  • atomicshop.wrappers.configparserw.ConfigParserWrapper: read / write config files to dict, converting string values to other formats (int, bool, list, list_of_ints, etc).
  • atomicshop.wrappers.loggingw: wrapper for 'logging' module, allows easier creation and manipulation of the 'logging.Logger' object with enhanced functionality on TimedRotatingFileHandler and formatters.
  • atomicshop.wrappers.ffmpegw.FFmpegWrapper: wrapper for FFmpeg, allows you to convert files to other formats. Downloads latest compiled release of ffmpeg from GitHub, if it doesn't find one.
  • atomicshop.wrappers.playwrightw: wrapper for Microsoft Playwright, allows you to automate browsers. Has many advanced functions and features, like wait for full page load (wrappers.playwrightw.waits.maximum_idle), that Playwright doesn't have by default.
  • atomicshop.sound: this module currently can record sound from Stereo mix to WAV file.
  • atomicshop.process: Process wrapper, can be used to get live output from a console process, while it still runs. Execute process in new cmd window, etc.
  • atomicshop.scheduling: Scheduler with threads, you can schedule a function to run periodically each 30 minutes (or any specified period of time) using threads (or not).
  • atomicshop.timer: measures time passed from the point you start it using python API.
  • dkwebmod.web.download: File downloader with status (moved to dkwebmod package).
  • atomicshop.file_io: File csv / json / text reader / writer.
  • atomicshop.filesystem: functions like, move / create folders, copy / delete files, etc.
  • And many more...

Currently, for complete picture you'll have to check the files in the library. I tried my best with understandable naming and grouping convention. Probably in the future docs generated by SPHINX will follow. Currently most of the functions have docstrings with usage and examples.

Most of the functions presented here are atomic, meaning you can use them almost in any project. Also, most of the functions were written firstly to be readable and understandable, and secondly functional. In addition, optimization was a priority. The above meaning that the functions provided are fast and easy to use. Some functions are presented as example of how to do something, to lessen querying to Google, StackOverflow and alike.

Off course, some functions are complete mess in terms of code, speed and probably even logic, but their usefulness outline the cons. And later on, they will be rewritten to be more efficient.

Since, it's a "one man" project, improvements and fixes of existing functions will take time, but you can send me suggestions and pull requests. I will try to respond as soon as time allows. The project is considered pre-pre alpha on heavy features like socket wrapper, but basic functions are stable and can be used in production. Since, it's pre-alpha API names and functionality can change. Follow project's change history for the latest.

I tried my best to use as less external libraries as possible, but some of them are required. Most of them already were added to 'dependencies' section of the setup.

Currently, the library is being developed on Windows 10 and python 3.11. No other platforms or python versions were tested. This means that the official support of the library is mainly for python 3.11 under Windows 10. Most of the features will work, but some require at least version 3.10, like SocketWrapper. Since, some features in it are 3.10 specific.

The library and its features will evolve based on my curiosity and needs. But as of now, the updates to features list are relatively frequent.

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. The easiest way to install the library is to use pip:

    pip install atomicshop
    
  2. If you want to use the latest version, you can download or clone the repo:

    git clone https://github.com/BugSec-Official/atomicshop.git
    

    Extract it and install it using pip:

    pip install .
    

    If you're on windows you can use the 'Setup.cmd' provided in the repo.

  3. To install the latest version of 'pywintrace' you can use pip:

    pip install https://github.com/fireeye/pywintrace/releases/download/v0.3.0/pywintrace-0.3.0-py3-none-any.whl
    

    The latest version on PyPI is 0.2, so you will need to install from GitHub. Alternatively, you can use a command anywhere in CMD after 'atomicshop' installation:

    pywintrace install
    

Usage

To follow. For now, check the files in the library. I tried my best with understandable naming and grouping convention. There are some ready to use scripts in the 'addons/mains' folder. You can use them as a reference.

License

Distributed under the MIT License. See LICENSE.txt for more information.

History

History.md

Metadata

Release files for atomicshop 3.14.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for atomicshop 3.14.19
File Interpreter ABI Platform
atomicshop-3.14.19-py3-none-any.whl Python 3 none any Details

Release files / atomicshop-3.14.19-py3-none-any.whl

Download URL atomicshop-3.14.19-py3-none-any.whl
Size 610.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74da1b8c0f4d08d598062c8185584852034d6fb84b6496f31820086d34446e6b
BLAKE2b-256 checksum
How to use checksums
6983420b3e60e6f4f91f63638c700c0e3bc5bc53ed7fa0efa7f32847670b859a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release history Release notifications | RSS feed

3.14.21

1 release file

This release

3.14.19 This release

1 release file

3.14.14

1 release file

3.14.13

1 release file

3.14.12

1 release file

3.14.10

1 release file

3.14.8

1 release file

3.14.7

1 release file

3.14.6

1 release file

3.14.5

1 release file

3.14.4

1 release file

3.14.3

1 release file

3.13.17

1 release file

3.13.16

1 release file

3.13.15

1 release file

3.13.14

1 release file

3.13.13

1 release file

3.13.12

1 release file

3.13.11

1 release file

3.13.10

1 release file

3.13.9

1 release file

3.13.8

1 release file

3.13.7

1 release file

3.13.6

1 release file

3.13.5

1 release file

3.13.4

1 release file

3.13.3

1 release file

3.13.2

1 release file

3.13.1

1 release file

3.13.0

1 release file

3.12.9

1 release file

3.12.8

1 release file

3.12.7

1 release file

3.12.4

1 release file

3.12.3

1 release file

3.12.2

1 release file

3.12.1

1 release file

3.12.0

1 release file

3.11.7

1 release file

3.11.6

1 release file

3.11.5

1 release file

3.11.4

1 release file

3.11.3

1 release file

3.11.2

1 release file

3.11.1

1 release file

3.11.0

1 release file

3.10.5

1 release file

3.10.4

1 release file

3.10.3

1 release file

3.10.2

1 release file

3.10.1

1 release file

3.10.0

1 release file

3.9.3

1 release file

3.9.2

1 release file

3.9.1

1 release file

3.9.0

1 release file

3.8.9

1 release file

3.8.8

1 release file

3.8.7

1 release file

3.8.6

1 release file

3.8.5

1 release file

3.8.4

1 release file

3.8.3

1 release file

3.8.2

1 release file

3.8.1

1 release file

3.7.2

1 release file

3.7.1

1 release file

3.7.0

1 release file

3.6.5

1 release file

3.6.4

1 release file

3.6.3

1 release file

3.6.2

1 release file

3.6.1

1 release file

3.6.0

1 release file

3.5.5

1 release file

3.5.4

1 release file

3.5.3

1 release file

3.5.2

1 release file

3.5.1

1 release file

3.5.0

1 release file

3.4.2

1 release file

3.4.1

1 release file

3.4.0

1 release file

3.3.29

1 release file

3.3.28

1 release file

3.3.27

1 release file

3.3.26

1 release file

3.3.25

1 release file

3.3.24

1 release file

3.3.23

1 release file

3.3.22

1 release file

3.3.21

1 release file

3.3.20

1 release file

3.3.19

1 release file

3.3.18

1 release file

3.3.17

1 release file

3.3.16

1 release file

3.3.15

1 release file

3.3.14

1 release file

3.3.13

1 release file

3.3.12

1 release file

3.3.11

1 release file

3.3.10

1 release file

3.3.9

1 release file

3.3.8

1 release file

3.3.7

1 release file

3.3.6

1 release file

3.3.5

1 release file

3.3.4

1 release file

3.3.3

1 release file

3.3.2

1 release file

3.3.1

1 release file

3.3.0

1 release file

3.2.13

1 release file

3.2.12

1 release file

3.2.11

1 release file

3.2.9

1 release file

3.2.8

1 release file

3.2.7

1 release file

3.2.6

1 release file

3.2.5

1 release file

3.2.4

1 release file

3.2.3

1 release file

3.2.2

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.14

1 release file

3.1.13

1 release file

3.1.12

1 release file

3.1.11

1 release file

3.1.10

1 release file

3.1.9

1 release file

3.1.8

1 release file

3.1.7

1 release file

3.1.6

1 release file

3.1.5

1 release file

3.1.4

1 release file

3.1.3

1 release file

3.1.2

1 release file

3.1.1

1 release file

3.1.0

1 release file

3.0.2

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.21.1

1 release file

2.21.0

1 release file

2.20.8

1 release file

2.20.7

1 release file

2.20.6

1 release file

2.20.5

1 release file

2.20.4

1 release file

2.20.3

1 release file

2.20.2

1 release file

2.20.1

1 release file

2.20.0

1 release file

2.19.19

1 release file

2.19.18

1 release file

2.19.17

1 release file

2.19.16

1 release file

2.19.15

1 release file

2.19.14

1 release file

2.19.13

1 release file

2.19.9

1 release file

2.19.8

1 release file

2.19.7

1 release file

2.19.6

1 release file

2.19.5

1 release file

2.19.4

1 release file

2.19.3

1 release file

2.19.2

1 release file

2.19.1

1 release file

2.19.0

1 release file

2.18.34

1 release file

2.18.33

1 release file

2.18.32

1 release file

2.18.30

1 release file

2.18.29

1 release file

2.18.28

1 release file

2.18.27

1 release file

2.18.21

1 release file

2.18.20

1 release file

2.18.19

1 release file

2.18.18

1 release file

2.18.17

1 release file

2.18.16

1 release file

2.18.15

1 release file

2.18.14

1 release file

2.18.13

1 release file

2.18.12

1 release file

2.18.11

1 release file

2.18.9

1 release file

2.18.8

1 release file

2.18.7

1 release file

2.18.6

1 release file

2.18.5

1 release file

2.18.4

1 release file

2.18.3

1 release file

2.18.2

1 release file

2.18.1

1 release file

2.18.0

1 release file

2.17.3

1 release file

2.17.2

1 release file

2.17.1

1 release file

2.17.0

1 release file

2.16.48

1 release file

2.16.42

1 release file

2.16.41

1 release file

2.16.40

1 release file

2.16.39

1 release file

2.16.38

1 release file

2.16.37

1 release file

2.16.36

1 release file

2.16.28

1 release file

2.16.27

1 release file

2.16.26

1 release file

2.16.25

1 release file

2.16.24

1 release file

2.16.23

1 release file

2.16.22

1 release file

2.16.21

1 release file

2.16.20

1 release file

2.16.19

1 release file

2.16.18

1 release file

2.16.17

1 release file

2.16.16

1 release file

2.16.15

1 release file

2.16.14

1 release file

2.16.13

1 release file

2.16.12

1 release file

2.16.11

1 release file

2.16.10

1 release file

2.16.9

1 release file

2.16.8

1 release file

2.16.7

1 release file

2.16.6

1 release file

2.16.5

1 release file

2.16.4

1 release file

2.16.3

1 release file

2.16.2

1 release file

2.16.1

1 release file

2.16.0

1 release file

2.15.13

1 release file

2.15.12

1 release file

2.15.11

1 release file

2.15.9

1 release file

2.15.8

1 release file

2.15.7

1 release file

2.15.6

1 release file

2.15.5

1 release file

2.15.4

1 release file

2.15.3

1 release file

2.15.2

1 release file

2.15.1

1 release file

2.15.0

1 release file

2.14.11

1 release file

2.14.10

1 release file

2.14.9

1 release file

2.14.8

1 release file

2.14.7

1 release file

2.14.6

1 release file

2.14.5

1 release file

2.14.4

1 release file

2.14.3

1 release file

2.14.2

1 release file

2.14.1

1 release file

2.14.0

1 release file

2.13.2

1 release file

2.13.1

1 release file

2.13.0

1 release file

2.12.26

1 release file

2.12.25

1 release file

2.12.24

1 release file

2.12.23

1 release file

2.12.22

1 release file

2.12.9

1 release file

2.12.8

1 release file

2.12.7

1 release file

2.12.6

1 release file

2.12.5

1 release file

2.12.4

1 release file

2.12.3

1 release file

2.12.1

1 release file

2.12.0

1 release file

2.11.49

1 release file

2.11.48

1 release file

2.11.47

1 release file

2.11.46

1 release file

2.11.9

1 release file

2.11.8

1 release file

2.11.7

1 release file

2.11.6

1 release file

2.11.5

1 release file

2.11.4

1 release file

2.11.3

1 release file

2.11.2

1 release file

2.11.1

1 release file

2.11.0

1 release file

2.10.8

1 release file

2.10.7

1 release file

2.10.6

1 release file

2.10.5

1 release file

2.10.4

1 release file

2.10.3

1 release file

2.10.2

1 release file

2.10.1

1 release file

2.10.0

1 release file

2.9.33

1 release file

2.9.32

1 release file

2.9.31

1 release file

2.9.30

1 release file

2.9.29

1 release file

2.9.28

1 release file

2.9.27

1 release file

2.9.26

1 release file

2.9.25

1 release file

2.9.24

1 release file

2.9.23

1 release file

2.9.22

1 release file

2.9.21

1 release file

2.9.20

1 release file

2.9.19

1 release file

2.9.18

1 release file

2.9.17

1 release file

2.9.16

1 release file

2.9.15

1 release file

2.9.14

1 release file

2.9.13

1 release file

2.9.12

1 release file

2.9.11

1 release file

2.9.10

1 release file

2.9.9

1 release file

2.9.8

1 release file

2.9.7

1 release file

2.9.6

1 release file

2.9.5

1 release file

2.9.4

1 release file

2.9.3

1 release file

2.9.2

1 release file

2.9.1

1 release file

2.9.0

1 release file

2.8.1

1 release file

2.8.0

1 release file

2.7.6

1 release file

2.7.5

1 release file

2.7.4

1 release file

2.7.3

1 release file

2.7.2

1 release file

2.7.1

1 release file

2.7.0

1 release file

2.6.13

1 release file

2.6.12

1 release file

2.6.11

1 release file

2.6.10

1 release file

2.6.9

1 release file

2.6.8

1 release file

2.6.7

1 release file

2.6.6

1 release file

2.6.5

1 release file

2.6.4

1 release file

2.6.3

1 release file

2.6.2

1 release file

2.6.1

1 release file

2.6.0

1 release file

2.5.16

1 release file

2.5.15

1 release file

2.5.14

1 release file

2.5.13

1 release file

2.5.12

1 release file

2.5.11

1 release file

2.5.10

1 release file

2.5.9

1 release file

2.5.8

1 release file

2.5.7

1 release file

2.5.6

1 release file

2.5.5

1 release file

2.5.4

1 release file

2.5.3

1 release file

2.5.2

1 release file

2.5.1

1 release file

2.5.0

1 release file

2.4.3

1 release file

2.4.2

1 release file

2.4.1

1 release file

2.4.0

1 release file

2.3.11

1 release file

2.3.10

1 release file

2.3.9

1 release file

2.3.8

1 release file

2.3.7

1 release file

2.3.6

1 release file

2.3.5

1 release file

2.3.4

1 release file

2.3.3

1 release file

2.3.2

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.9

1 release file

2.2.8

1 release file

2.2.7

1 release file

2.2.6

1 release file

2.2.5

1 release file

2.2.4

1 release file

2.2.3

1 release file

2.2.2

1 release file

2.2.1

1 release file

2.2.0

1 release file

2.1.8

1 release file

2.1.7

1 release file

2.1.6

1 release file

2.1.4

1 release file

2.1.3

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.0

1 release file

1.9.1

1 release file

1.9.0

1 release file

1.8.9

1 release file

1.8.8

1 release file

1.8.7

1 release file

1.8.6

1 release file

1.8.5

1 release file

1.8.4

1 release file

1.8.3

1 release file

1.8.2

1 release file

1.8.1

1 release file

1.8.0

1 release file

1.7.8

1 release file

1.7.7

1 release file

1.7.6

1 release file

1.7.5

1 release file

1.7.4

1 release file

1.7.3

1 release file

1.7.2

1 release file

1.7.1

1 release file

1.7.0

1 release file

1.6.9

1 release file

1.6.8

1 release file

1.6.7

1 release file

1.6.6

1 release file

1.6.5

1 release file

1.6.4

1 release file

1.6.3

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.1

1 release file

1.5.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page