A secure password generator written in python

Overview

gruvbox-factory 🏭

License PyPI

"The main focus when developing gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes" - morhetz

example of gruvbox-factory

  • A simple cli to convert manufacture a gruvbox themed wallpaper;
  • Now supports "hipster" mode, passing image paths as arguments;
  • Now has two different palettes: panther "pink" and snoopy white;

Installation ⬇️

pip3 install gruvbox-factory

Usage ⌨️

The cli has two modes:

  • 🔮 wizard: type gruvbox-factory anywhere in your terminal and folllow the instructions
  • 💽 hipster: type gruvbox-factory -h and check how to use in CLI mode 😉

Credits 🎥

Contributing 💕

  • If you like it, leave your star in this project
  • 💟 If you would like to complain/suggest/contribute to this project, feel free to open a issue
  • ✏️ Add your name in the "Contributors section after when opening a PR

Contributors ✏️

Comments
  • Fix colors.

    Fix colors.

    Remove duplicate entries #928374 in gruvbox.txt, added missing colors listed on morhetz/gruvbox. As a sanity check, I wrote a quick script to check for any duplicates I may have missed.

    with open("gruvbox.txt") as color_handle:
        data = color_handle.read().split("\n")
        for color in data:
            if data.count(color) > 1:
                raise Exception("Duplicate color", color)
    

    I'm not sure if there's a technical reason why these colors were left out, best guess is that they resulted in manufactured images not matching common foreground/background colors, in which case, I'll revise this PR, however it fixed light colors being rendered as yellow, and grays turning out aqua and purple.

    Thanks for making this project.

    opened by perpetualCreations 5
  • command-line arguments option, supply multiple inputs at once, can convert images outside working directory

    command-line arguments option, supply multiple inputs at once, can convert images outside working directory

    I modified the code to allow for the following:

    • Supplying multiple image paths with command-line arguments / with the TUI
    • Support for images outside the script's directory
    opened by Kuuhhl 4
  • added pass filename from argument

    added pass filename from argument

    Someone asked for a way to input the filename with a command argument, so I separated the TUI input and the Argument Input. Usage: gruvbox-factory [PATH]

    opened by Gabulhas 4
  •  Unable to process any image - Getting Type Error.

    Unable to process any image - Getting Type Error.

    Ive used this program in the past with success but whipped it out again and I've been having issues. Perhaps Im just doing something wrong.

    I get the following after providing a image.

    Traceback (most recent call last):
      File "/home/gcc/.local/bin/gruvbox-factory", line 8, in <module>
        sys.exit(main())
      File "/home/gcc/.local/lib/python3.9/site-packages/factory/__main__.py", line 32, in main
        gruvbox_factory.convert_image(image, save_path=('gruvbox_' + image_file))
      File "/home/gcc/.local/lib/python3.9/site-packages/ImageGoNord/GoNord.py", line 425, in convert_image
        self.converted_loop(is_rgba, pixels, original_pixels, image.size[0], image.size[1])
      File "/home/gcc/.local/lib/python3.9/site-packages/ImageGoNord/GoNord.py", line 399, in converted_loop
        pixels[row, col] = tuple(colors_list)
    TypeError: function takes at least 3 arguments (0 given)
    

    Here is my python version: pip 20.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)

    opened by gennarocc 4
  • Translation to other languages?

    Translation to other languages?

    I enjoy this utility, simple and easy to use. So i was thinking about translating it to more languages so more people could use it. I personally just speak 2 languages fluently so i could translate it to the other language. If you think its a good idea, let me know and ill start working on it as soon as a I have time :)

    opened by Mattio-cmd 3
  • Accept filepath as argument

    Accept filepath as argument

    The tool already has a good-looking CLI, but it would be nice to pass the target file as an argument to the script.

    The use case is allowing for tab completion or even scripting for multiple files.

    Great tool btw :)

    opened by marcoaaguiar 2
  • feat: palettes selection

    feat: palettes selection

    Based on @perpetualCreations solution, I have the idea to add different palettes for gruvbox-api 💡 Sharing with you guys before merging it 😉

    • Available in wizard mode and hipster mode;
    • It has breaking changes comparing it with the current hipster mode, but it's easy to adapt to this new version.
    opened by paulopacitti 0
  • WARNING: The script cmark is installed in '/home/user/.local/bin' which is not on PATH.

    WARNING: The script cmark is installed in '/home/user/.local/bin' which is not on PATH.

    This error msg showed when i ran the installation lines. I am using Linux mint 20.3 There is another report of this anomaly but no response is there.

    • the terminal processes looks like this *

    pip3 install gruvbox-factory Collecting gruvbox-factory Downloading gruvbox_factory-1.0.0-py3-none-any.whl (5.3 kB) Collecting rich Downloading rich-12.6.0-py3-none-any.whl (237 kB) |████████████████████████████████| 237 kB 390 kB/s Collecting image-go-nord Downloading image_go_nord-0.1.5-py3-none-any.whl (11 kB) Collecting commonmark<0.10.0,>=0.9.0 Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB) |████████████████████████████████| 51 kB 711 kB/s Collecting pygments<3.0.0,>=2.6.0 Downloading Pygments-2.13.0-py3-none-any.whl (1.1 MB) |████████████████████████████████| 1.1 MB 368 kB/s Collecting typing-extensions<5.0,>=4.0.0; python_version < "3.9" Downloading typing_extensions-4.4.0-py3-none-any.whl (26 kB) Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from image-go-nord->gruvbox-factory) (7.0.0) Installing collected packages: commonmark, pygments, typing-extensions, rich, image-go-nord, gruvbox-factory WARNING: The script cmark is installed in '/home/amlan/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script pygmentize is installed in '/home/amlan/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The script gruvbox-factory is installed in '/home/amlan/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed commonmark-0.9.1 gruvbox-factory-1.0.0 image-go-nord-0.1.5 pygments-2.13.0 rich-12.6.0 typing-extensions-4.4.0

    opened by Noob-linux-user 0
  • Warnings: files not on PATH

    Warnings: files not on PATH

    Linux noob on Ubuntu 20.04. Just installed gruvbox-factory, but received several warnings at the end indicating some scripts not installed on PATH (re: cmark, pygmentize, gruvbox-factory). How to fix pls.

    opened by saltbr1nger 0
  • Compression Settings

    Compression Settings

    Hey guys! Just wondering if there's a way to change the compression settings, as I've noticed some of the converted images have more RGB noise than the originals.

    opened by bluedudexoo 0
  • No Support for shell glob

    No Support for shell glob "*", no support for multiple image files

    If I use the * wild card:

    ❯ gruvbox-factory
    ❯ /mnt/d/niabc/Pictures/Wallpapers/*
    Traceback (most recent call last):
      File "/home/pure-cheekbones/anaconda3/bin/gruvbox-factory", line 8, in <module>
        sys.exit(main())
      File "/home/pure-cheekbones/anaconda3/lib/python3.9/site-packages/factory/__main__.py", line 23, in main
        add_gruvbox_palette(gruvbox_factory, args.palette)
      File "/home/pure-cheekbones/anaconda3/lib/python3.9/site-packages/factory/__main__.py", line 89, in add_gruvbox_palette
        with open(str(current_path) + '/gruvbox-' + palette + '.txt', 'r') as f:
    TypeError: can only concatenate str (not "NoneType") to str
    

    And it appears that it doesn't support adding multiple images as input. I recommend using the glob library, using *args, **kwargs etc...

    opened by mina-andajos 0
  • Does not Recognise or finds the wallpaper

    Does not Recognise or finds the wallpaper

    When ever I fire the gruvbox factory it shows everything and is installed just fine but when I enter the image path from home it does not find any image and exits

    image

    Is their any way you can add a gui to select the image when you enter the facotry or tell me what error is this ?

    opened by Deottive 1
  • Gruvbox-factory can't convert certain files

    Gruvbox-factory can't convert certain files

    It gives me the "we had a problem in the pipeline! Make sure you're in the same path of the image you want to convert! " Even though I am in the same directory. Below is an example of a file that doesn't work, I also have another image that is 2.11 megabytes (the one below is 7.91 MiB) that wont open either, but I cant find a link to it.

    I also been having a separate issue (I'm being lazy and including 2 issues in one sorry) that it changes some lighter beige tones into bright pink, instead of perhaps a more palatable warm white color, and some white-ish colors into light blues. The second link, (first image on the page of the guy with a knife) is a perfect example of that. Thank you.

    https://unsplash.com/photos/aL7SA1ASVdQ

    https://www.google.com/url?sa=i&url=https%3A%2F%2Fwallpaperaccess.com%2Fminimalist-anime&psig=AOvVaw2blQ-GSzgyzqp29nl6C-OR&ust=1617472547003000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCJCzn4KR4O8CFQAAAAAdAAAAABAD

    opened by stnm12brX2 2
Owner
Paulo Pacitti
computer engineering student at UNICAMP (Universidade Estadual de Campinas) 👨🏻‍💻 && amateur music creator && newbie game developer
Paulo Pacitti
Password list generator for password spraying - prebaked with goodies

Generates permutations of Months, Seasons, Years, Sports Teams (NFL, NBA, MLB, NHL), Sports Scores, "Password", and even Iterable Keyspaces of a specified size.

Casey Erdmann 65 Dec 22, 2022
This is a Cryptographied Password Manager, a tool for storing Passwords in a Secure way

Cryptographied Password Manager This is a Cryptographied Password Manager, a tool for storing Passwords in a Secure way without using external Service

Francesco 3 Nov 23, 2022
Statistical Random Number Generator Attack Against The Kirchhoff-law-johnson-noise (Kljn) Secure Key Exchange Protocol

Statistical Random Number Generator Attack Against The Kirchhoff-law-johnson-noise (Kljn) Secure Key Exchange Protocol

zeze 1 Jan 13, 2022
zip-brute Zip File Password Cracking with Using Password List

Zip brute is a python script that cracks zip that are password protected using a wordlist dictionary.

AnonyminHack5 13 Nov 3, 2022
A simple password generator using Python Tkinter.

Password-Generator-using-Python A simple password generator that generates password for you. User can Copy the password to Clipboard. Project made usi

Prashant Agheda 1 Nov 2, 2022
♻️ Password Generator (PSG) 📚 This plugin is made for more familiarity with Python, but can also be used to create passwords

About Tool This plugin is made for more familiarity with Python, but can also be used to create passwords.

STgazing 2 Jul 23, 2022
Python Password Generator

This is a console-based version of a password generator written with Python. The program generates a password based on numbers of letters, numbers, and symbols specified by the user. This is a simple Python program to demonstrate the use of randomization, list, and string concatenation. It also demonstrates the use of random.shuffle() method to shuffle items in lists.

p.katekomol 1 Jan 24, 2022
Pgen is the best brute force password generator and it is improved from the cupp.py

pgen Pgen is the best brute force password generator and it is improved from the cupp.py The pgen tool is dedicated to Leonardo da Vinci -Time stays l

heyheykids 2 Jan 31, 2022
Generates password lists/dictionaries based on keywords written in python3.

dicbyru Introduction Generates password lists/dictionaries based on keywords. It uses the keywords and adds capital letters, numbers and special chara

ru55o 2 Oct 31, 2022
Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure.

Dlint Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure. The most important thing I have done as a progra

Dlint 127 Dec 27, 2022
Python program that generates secure passwords.

Python program that generates secure passwords. The user has the option to select the length of the password, amount of passwords,

null 4 Dec 7, 2021
PwdGen is a Python Tkinter tool for generating secure 16 digit passwords.

PwdGen ( Password Generator ) is a Python Tkinter tool for generating secure 16 digit passwords. Installation Simply install requirements pip install

zJairO 7 Jul 14, 2022
Simple python script for generating custom high-secure passwords for securing your social-apps ❤️

Opensource Project Simple Python Password Generator This repository is just for peoples who want to generate strong-passwords for there social-account

K A R T H I K 15 Dec 1, 2022
Create a secure tunnel from a custom domain to localhost using Fly and WireGuard.

Fly Dev Tunnel Developers commonly use apps like ngrok, localtunnel, or cloudflared to expose a local web service at a publicly-accessible URL. This i

null 170 Dec 11, 2022
Ensure secure infrastructure and consistency with the firewall rules

Python Port Scanner This script tries to check if it's possible to make a connection with the specific endpoint port. This is very useful to ensure se

Allan Avelar 7 Feb 26, 2022
This collection of tools that makes it easy to secure and/or obfuscate messages, files, and data.

Scrambler App This collection of tools that makes it easy to secure and/or obfuscate messages, files, and data. It leverages encryption tools such as

Mystic 2 Aug 31, 2022
Delta Sharing: An Open Protocol for Secure Data Sharing

Delta Sharing: An Open Protocol for Secure Data Sharing Delta Sharing is an open protocol for secure real-time exchange of large datasets, which enabl

Delta Lake 497 Jan 2, 2023
Python implementation of the diceware password generating algorithm.

Diceware Password Generator - Generate High Entropy Passwords Please Note - This Program Do Not Store Passwords In Any Form And All The Passwords Are

Sameera Madushan 35 Dec 25, 2022