Skip to main content

507ex 2.0 (FZX2)

What is 507ex, and why is there a 2.0?

A while back, I created a executable format called 507ex (507 Being my brand that I like to put things under). I made one mistake on the first time. I used AI in my code. That completely ruined my code. So I decided it was time to rewrite it. Introducing 507ex 2.0 (Abbreviated as FZX2).

What's New?

  • AI was not used to write code (yay)
  • Enhanced metadata that stores more information
  • Auto Dependency Manager. Uses a list embedded in the metadata to ensure the application has the correct dependencies.
  • All operations are accessible through one module.
  • CAR (Central Application Repository) now supports authentication.
  • Executables can now store data persistently.
  • Persistent data is checked for integrity.

Perrfered installation

pip install fzx2

and use

fzx2 {option}

or

python3 -m fzx2 {option}

CAR (Central Application Repository)

CAR is a server system that allows seamless execution of applications from the command line. Example:

python3 fzx2.py exec http://127.0.0.1:5000/pull/955d7c5f-5b21-428f-94e4-8e13f1e7223c

Easy as that! All CAR operations are authenticated by a random "secret code" generated by the server.

Endpoint Documentation

POST: /push. Push an executable to the server. Accepts form data in the following form: {'file_id': STR}, and accepts file data in this form: {'file': FILE}. Returns:

{
  "status": "success",
  "secret_code": "secret_code",
  "url": "request.url_root/pull/filename"
}

POST: /pull/<file_id>. Pull an executable from the server. Accepts form data in the following form: {'secret_code': STR} Returns: The file requested or an error message. Files are sent using flask's send_from_directory function.

Running the server

Source Code Method:

python3 fzx2.py start_server

Compiled Executable Method:

./fzx2 start_server

Installation

Optimal Method (pip)

Just run

pip install fzx2

Run it with

fzx2 {option}

or

python3 -m fzx2 {option}

Method 1 (Compiled Executable)

  1. Download the latest release from the releases page.
  2. Run the executable. (Recommended to be done in a terminal)

Method 2 (Source Code)

  1. Clone the Repository using git clone https://github.com/WyattBrashear/507ex-utils2.git
  2. Run: pip install -r requirements.txt in order to install the dependencies.
  3. Run the main script using python3 fzx2.py

CLI Usage

python3 fzx2.py <operation> <path> All operations are listed below:

  1. exec: Executes an executable
  2. start_server: Starts the CAR server
  3. build: Builds an executable
  4. unpack: Unpacks an executable
  5. upload: Uploads an executable

507ex's required files

All directories that are going to be turned into a 507ex requires 2 files:

  1. runfile (contains the command to run the script)
  2. dependfile Dependfile is in this format
!{name}|{command}
!PLATFORM {platform}
{dependencies}

Persistent Data

All files stored in persistent data are stored in a directory in the executable's runtime and inside a subdirectory of the main runtime.

Persistent Data Integrity System

Like executables, persistent data is checked for integrity. However, persistent data is subject to a bit more scrutiny. The checks are as follows:

  1. Checksum calculation of persistent data.
  2. All persistent data archives are also tied to specific executable's ID

This means, that if executable A is trying to read executable B's persistent data, it will fail.

Demo Video

https://drive.google.com/file/d/1QfDZL2Spc7WKqbfCU_m7xSnRLbJdnfNd/view?usp=sharing

AI Usage

As per usual, I am against using AI in my code. All the code in this repository was human written. The instances of AI usage was autocomplete and AI Assistant when I was stuck, pointing me in the right direction (fzx2.py).

Metadata

Release files for fzx2 1.2.0

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

Source distribution (sdist)

Source distribution for fzx2 1.2.0
File Size Uploaded
fzx2-1.2.0.tar.gz 95.0 kB Details

Built distribution (wheel)

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

Total release size: 101.3 kB

Release files / fzx2-1.2.0.tar.gz

Download URL fzx2-1.2.0.tar.gz
Size 95.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0bd552da6aac158735ea6741491aeb99c2f676df11252cdb472e629cfd4c5ba2
BLAKE2b-256 checksum
How to use checksums
7a99252aecaa58f18fd725b2311300ed281375dc07e7bdef38df98042343e1e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release files / fzx2-1.2.0-py3-none-any.whl

Download URL fzx2-1.2.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b2c08afc1d72fc0dde0f6cc7345b15fee7174cbc49be6d36eeefc503691d4a63
BLAKE2b-256 checksum
How to use checksums
3f0599943d0efb20384d7947aa65dac27fe15bba9a7062fb892d5d98f46a6623
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.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