{"id":21566760,"url":"https://github.com/lukewait/base-converter","last_synced_at":"2025-03-18T05:27:32.067Z","repository":{"id":183827487,"uuid":"670820346","full_name":"LukeWait/base-converter","owner":"LukeWait","description":"A Python-based GUI tool designed for converting numbers between integer, binary, and hexadecimal bases. This application provides an intuitive interface for users to seamlessly perform base conversions and understand number systems.","archived":false,"fork":false,"pushed_at":"2024-06-25T08:17:30.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T12:13:58.224Z","etag":null,"topics":["base-conversion","gui","number-systems","pyqt5","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukeWait.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-25T23:17:42.000Z","updated_at":"2024-06-25T08:17:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"f03aa22b-cd1f-461f-baa6-a1539dbe58b5","html_url":"https://github.com/LukeWait/base-converter","commit_stats":null,"previous_names":["lukewait/int-bin-hex_converter","lukewait/gui-base-converter","lukewait/gui-base-converter-tool","lukewait/base-converter"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeWait%2Fbase-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeWait%2Fbase-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeWait%2Fbase-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeWait%2Fbase-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukeWait","download_url":"https://codeload.github.com/LukeWait/base-converter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244162458,"owners_count":20408531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["base-conversion","gui","number-systems","pyqt5","python"],"created_at":"2024-11-24T10:28:00.109Z","updated_at":"2025-03-18T05:27:32.048Z","avatar_url":"https://github.com/LukeWait.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Base Converter Tool\n\n## Description\nA Python-based GUI tool for converting numbers between different bases.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/LukeWait/base-converter/raw/main/assets/screenshots/base-converter-preview.png\" alt=\"App Screenshot\" width=\"550\"\u003e\n\u003c/p\u003e\n\n## Table of Contents\n- [Installation](#installation)\n- [Usage](#usage)\n- [Development](#development)\n- [License](#license)\n- [Source Code](#source-code)\n- [Dependencies](#dependencies)\n\n## Installation\n### Executable\n#### Windows\n1. Download the latest Windows release from the [releases page](https://github.com/LukeWait/base-converter/releases).\n2. Extract the contents to a desired location.\n3. Run the `BaseConverter.exe` file.\n\n#### Linux\n1. Download the latest Linux release from the [releases page](https://github.com/LukeWait/base-converter/releases).\n2. Extract the contents to a desired location.\n3. Make the BaseConverter file executable by running the following command in the terminal:\n    ```sh\n    chmod +x BaseConverter\n    ```\n4. Run the BaseConverter file by navigating to the directory in the terminal and executing:\n    ```sh\n    ./BaseConverter\n    ```\n\n### From Source\nTo install and run the application from source:\n\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/LukeWait/base-converter.git\n    cd base-converter\n    ```\n\n2. (Optional) Create and activate a virtual environment:\n    - **Windows**:\n      ```sh\n      python -m venv base_converter_venv\n      base_converter_venv\\Scripts\\activate\n      ```\n    - **Linux**:\n      ```sh\n      python3 -m venv base_converter_venv\n      source base_converter_venv/bin/activate\n      ```\n\n3. Install the dependencies:\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n4. Run the application:\n    - **Windows**:\n      ```sh\n      python src\\base_converter.py\n      ```\n    - **Linux**:\n      ```sh\n      python src/base_converter.py\n      ```\n\n## Usage\nUse the input field to enter either an integer, binary, or hexadecimal number and choose the appropriate type from the combo box. Upon clicking convert, the number will be displayed as all three options in the labeled output areas.\n\nYou can enter multiple numbers by using a \".\" as a separator. For example, an IP address entered as an integer: `192.168.1.1`, will be displayed as binary: `11000000.10101000.1.1`, and hexadecimal: `C0.A8.1.1`.\n\n## Development\n### Using PyQt Designer\nThe `pyqt_gui.ui` file can be opened and edited with PyQt Designer. PyQt Designer is a tool for designing and building GUIs from Qt widgets graphically and is included in pyqt5-tools==5.15.9.3.3.\n\nTo open PyQt Designer from the cloned GitHub repository:\n- **Windows**:\n  Navigate to the `Scripts` folder of your virtual environment or Python installation and run `designer.exe`.\n  ```sh\n  base_converter_venv\\Scripts\\qt5-tools.exe designer\n  ```\n\n- **Linux**:  \n  ```sh\n  .base_converter_venv/lib/python3.11/site-packages/qt5_applications/Qt/bin/designer\n  ```\n\n### Converting `.ui` to `.py`\nProject files in PyQt Designer are saved as `.ui`. To convert the `.ui` file to a `.py` file, use the following command:\n```sh\npyuic5 -o src/pyqt_gui.py src/pyqt_gui.ui\n```\n\n### Building Executables with PyInstaller\nTo build executables for Windows, macOS, and Linux, you can use PyInstaller. I recommend using PyInstaller version 6.1.0 as it is stable and doesn't result in the executable being flagged as a virus like some newer versions. First, ensure you have PyInstaller installed:\n```sh\npip install pyinstaller==6.1.0\n```\nThen, run the following command to create an executable:\n```sh\npyinstaller --onefile --noconsole src/base_converter.py\n```\nThis will generate the executable in the `dist` directory. It will also create a `build` directory and `.spec` file. These are used in the build process and can be safely removed.\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Source Code\nThe source code for this project can be found in the GitHub repository: [https://github.com/LukeWait/base-converter](https://github.com/LukeWait/base-converter).\n\n## Dependencies\nFor those building from source, the dependencies listed in `requirements.txt` are:\n- PyQt5==5.15.9\n- pyqt5-tools==5.15.9.3.3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukewait%2Fbase-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukewait%2Fbase-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukewait%2Fbase-converter/lists"}