Skip to main content

Hey, I’m Pacflypy, a hobby programmer.

This is a module for better Python development.

Command Class

The Command Class in pacflypy is a class for running commands in the terminal.

But wait, before you think that’s too simple, here are a few examples:

from pacflypy.command import command

# We run a simple command without saving the output
# We initialize the command, for example, we use: 'apt-get install -y wget axel'
cmd = command(program='apt-get', safe_output=False, shell=False)
cmd.arg('install')
cmd.arg('-y')
cmd.arg('wget')
cmd.arg('axel')
# Now we quickly print the command to the terminal, but this is not important
print(cmd.get_command())  # This will show you the full command as a string, also 'apt-get install -y wget axel'
# Now we run the command
cmd.run()  # That's all you need, this will execute the command

# Now we will get the architecture with dpkg
cmd = command(program='dpkg', safe_output=True, shell=False)  # Initialize the command
cmd.arg('--print-architecture')
print(cmd.get_command())  # This will show you the full command as a string also, 'dpkg --print-architecture'
cmd.run()  # That's all you need, this will execute the command and save the output and now we get it
stdout = cmd.stdout()  # Get the stdout
stderr = cmd.stderr()  # Get the stderr
print('The architecture is: ' + stdout)

Maybe that is too complex, but the pacflypy module includes a wrapper for this. Here is an example with the same commands:

from pacflypy.system import run  # Include the wrapper in the namespace

# We will run 'apt-get install -y wget axel'
run('apt-get install -y wget axel')

# For saving output
stdout, stderr = run('dpkg --print-architecture', safe_output=True)
print('The architecture is: ' + stdout)

Crazy, that was really fast. But the Command Class has a few more features, maybe you want to make 2 commands with the same program, for example:

from pacflypy.command import command
# We use APT
cmd = command(program='apt')
cmd.arg('update')
cmd.run()
print(cmd.get_command())
cmd.reset()
cmd.arg('install')
cmd.arg('-y')
cmd.arg('wget')
cmd.arg('axel')
print(cmd.get_command())
cmd.run()

But the Pacflypy module has not only the nice command class, maybe you want a little bit of style for your terminal, for example:

from pacflypy.style import styling

# We take now, red, blue, green, and cyan
red, blue, green, cyan = styling.color(2), styling.color(3), styling.color(1), styling.color(6)
# Now we will print the red text
print(red + 'Hello World' + styling.reset)
print(blue + 'Hello World' + styling.reset)
print(green + 'Hello World' + styling.reset)
print(cyan + 'Hello World' + styling.reset)

# We take Styling, bold and italic
bold, italic = styling.style(1), styling.style(2)
print(bold + 'Hello World' + styling.reset)
print(italic + 'Hello World' + styling.reset)

# Maybe you want a little bit more, for example, color and style
green_bold = styling.pair(1, 1)
print(green_bold + 'Hello World' + styling.reset)

# Or use directly the Print Function
styling.print(text='Hello World', style=1, color=1)

But you must know, colors and styles have a code, for example:

"""
        Color Codes:
        0 - Reset
        1 - Green
        2 - Red
        3 - Blue
        4 - Yellow
        5 - Black
        6 - Cyan
        7 - Magenta
        8 - White
        Style Codes:
        0 - Reset
        1 - Bold
        2 - Italic
        3 - Underline
        4 - Strike
        5 - Reverse
        6 - Hidden
"""

With these codes, you can use the style and color codes in your project, and this is better than with the ‘curses’ module.

Control File Rendering

Yes, I have a little module included for control file rendering, I don’t know why, but I have filled it.

Here for example:

import pacflypy.control as control
import pacflypy.system as system

user = 'whoami'
path = system.path.join('home', user, 'control')
with open(path, 'r') as f:
    data = control.load(f)
    print(data)
package_name = data['Package']
package_version = data['Version']
package_architecture = data['Architecture']
package_maintainer = data['Maintainer']
package_description = data['Description']
# And many many more, here you can find all data from a control file

Now we create a control file with my module:

import pacflypy.control as control

data = {
    "Package": "test",
    "Version": "1.0",
    "Architecture": "all",
    "Maintainer": "Pacflypy",
    "Description": "This is a Test Package"
}

with open('control', 'w') as f:
    control.dump(file=f, data=data)

And now you have successfully created a control file, but the Pacflypy module has not only the control file rendering.

Release files for pacflypy 0.2.8

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

Source distribution (sdist)

Source distribution for pacflypy 0.2.8
File Size Uploaded
pacflypy-0.2.8.tar.gz 15.7 kB Details

Built distribution (wheel)

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

Total release size: 32.2 kB

Release files / pacflypy-0.2.8.tar.gz

Download URL pacflypy-0.2.8.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3e91791ff729fc71ca30842e3d18503b7ccf1e66ef9f32173057bb336d699a1e
BLAKE2b-256 checksum
How to use checksums
ccc68cda1015fd60b06e7321e96f2b6996b581f5bcb93e72caf9680c04d0ef76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.12

Release files / pacflypy-0.2.8-py3-none-any.whl

Download URL pacflypy-0.2.8-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae699fc5a314ee1f51a44bedcf812bca558641c6b26975ce6a8e50b80b7bf628
BLAKE2b-256 checksum
How to use checksums
2e9ddd3ceb4303e33f4905c15b4342da6080f9f23138a41f826946f2927f29d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.2.8 This release

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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