All the code in these repos was created and explained by HashLips on the main YouTube channel.

Overview

Welcome to HashLips 👄

All the code in these repos was created and explained by HashLips on the main YouTube channel.

To find out more please visit:

📺 YouTube

👄 Discord

💬 Telegram

🐦 Twitter

ℹ️ Website

HashLips Art Engine 🔥

Create generative art by using the canvas api and node js. Before you use the generation engine, make sure you have node.js(v10.18.0) installed.

Installation 🛠️

If you are cloning the project then run this first, otherwise you can download the source code on the release page and skip this step.

git clone https://github.com/HashLips/hashlips_art_engine.git

Go to the root of your folder and run this command if you have yarn installed.

yarn install

Alternatively you can run this command if you have node installed.

npm install

Usage ℹ️

Create your different layers as folders in the 'layers' directory, and add all the layer assets in these directories. You can name the assets anything as long as it has a rarity weight attached in the file name like so: example element#70.png. You can optionally change the delimiter # to anything you would like to use in the variable rarityDelimiter in the src/config.js file.

Once you have all your layers, go into src/config.js and update the layerConfigurations objects layersOrder array to be your layer folders name in order of the back layer to the front layer.

Example: If you were creating a portrait design, you might have a background, then a head, a mouth, eyes, eyewear, and then headwear, so your layersOrder would look something like this:

const layerConfigurations = [
  {
    growEditionSizeTo: 100,
    layersOrder: [
      { name: "Head" },
      { name: "Mouth" },
      { name: "Eyes" },
      { name: "Eyeswear" },
      { name: "Headwear" },
    ],
  },
];

The name of each layer object represents the name of the folder (in /layers/) that the images reside in.

Optionally you can now add multiple different layerConfigurations to your collection. Each configuration can be unique and have different layer orders, use the same layers or introduce new ones. This gives the artist flexibility when it comes to fine tuning their collections to their needs.

Example: If you were creating a portrait design, you might have a background, then a head, a mouth, eyes, eyewear, and then headwear and you want to create a new race or just simple re-order the layers or even introduce new layers, then you're layerConfigurations and layersOrder would look something like this:

const layerConfigurations = [
  {
    // Creates up to 50 artworks
    growEditionSizeTo: 50,
    layersOrder: [
      { name: "Background" },
      { name: "Head" },
      { name: "Mouth" },
      { name: "Eyes" },
      { name: "Eyeswear" },
      { name: "Headwear" },
    ],
  },
  {
    // Creates an additional 100 artworks
    growEditionSizeTo: 150,
    layersOrder: [
      { name: "Background" },
      { name: "Head" },
      { name: "Eyes" },
      { name: "Mouth" },
      { name: "Eyeswear" },
      { name: "Headwear" },
      { name: "AlienHeadwear" },
    ],
  },
];

Update your format size, ie the outputted image size, and the growEditionSizeTo on each layerConfigurations object, which is the amount of variation outputted.

You can mix up the layerConfigurations order on how the images are saved by setting the variable shuffleLayerConfigurations in the config.js file to true. It is false by default and will save all images in numerical order.

If you want to have logs to debug and see what is happening when you generate images you can set the variable debugLogs in the config.js file to true. It is false by default, so you will only see general logs.

If you want to play around with different blending modes, you can add a blend: MODE.colorBurn field to the layersOrder options object.

If you need a layers to have a different opacity then you can add the opacity: 0.7 field to the layersOrder options object as well.

If you want to have a layer ignored in the DNA uniqueness check, you can set bypassDNA: true in the options object. This has the effect of making sure the rest of the traits are unique while not considering the Background Layers as traits, for example. The layers are included in the final image.

To use a different metadata attribute name you can add the displayName: "Awesome Eye Color" to the options object. All options are optional and can be addes on the same layer if you want to.

Here is an example on how you can play around with both filter fields:

const layerConfigurations = [
  {
    growEditionSizeTo: 5,
    layersOrder: [
      { name: "Background" , {
        options: {
          bypassDNA: false;
        }
      }},
      { name: "Eyeball" },
      {
        name: "Eye color",
        options: {
          blend: MODE.destinationIn,
          opacity: 0.2,
          displayName: "Awesome Eye Color",
        },
      },
      { name: "Iris" },
      { name: "Shine" },
      { name: "Bottom lid", options: { blend: MODE.overlay, opacity: 0.7 } },
      { name: "Top lid" },
    ],
  },
];

Here is a list of the different blending modes that you can optionally use.

const MODE = {
  sourceOver: "source-over",
  sourceIn: "source-in",
  sourceOut: "source-out",
  sourceAtop: "source-out",
  destinationOver: "destination-over",
  destinationIn: "destination-in",
  destinationOut: "destination-out",
  destinationAtop: "destination-atop",
  lighter: "lighter",
  copy: "copy",
  xor: "xor",
  multiply: "multiply",
  screen: "screen",
  overlay: "overlay",
  darken: "darken",
  lighten: "lighten",
  colorDodge: "color-dodge",
  colorBurn: "color-burn",
  hardLight: "hard-light",
  softLight: "soft-light",
  difference: "difference",
  exclusion: "exclusion",
  hue: "hue",
  saturation: "saturation",
  color: "color",
  luminosity: "luminosity",
};

When you are ready, run the following command and your outputted art will be in the build/images directory and the json in the build/json directory:

npm run build

or

node index.js

The program will output all the images in the build/images directory along with the metadata files in the build/json directory. Each collection will have a _metadata.json file that consists of all the metadata in the collection inside the build/json directory. The build/json folder also will contain all the single json files that represent each image file. The single json file of a image will look something like this:

{
  "dna": "d956cdf4e460508b5ff90c21974124f68d6edc34",
  "name": "#1",
  "description": "This is the description of your NFT project",
  "image": "https://hashlips/nft/1.png",
  "edition": 1,
  "date": 1731990799975,
  "attributes": [
    { "trait_type": "Background", "value": "Black" },
    { "trait_type": "Eyeball", "value": "Red" },
    { "trait_type": "Eye color", "value": "Yellow" },
    { "trait_type": "Iris", "value": "Small" },
    { "trait_type": "Shine", "value": "Shapes" },
    { "trait_type": "Bottom lid", "value": "Low" },
    { "trait_type": "Top lid", "value": "Middle" }
  ],
  "compiler": "HashLips Art Engine"
}

You can also add extra metadata to each metadata file by adding your extra items, (key: value) pairs to the extraMetadata object variable in the config.js file.

const extraMetadata = {
  creator: "Daniel Eugene Botha",
};

If you don't need extra metadata, simply leave the object empty. It is empty by default.

const extraMetadata = {};

That's it, you're done.

Utils

Updating baseUri for IPFS and description

You might possibly want to update the baseUri and description after you have ran your collection. To update the baseUri and description simply run:

npm run update_info

Generate a preview image

Create a preview image collage of your collection, run:

npm run preview

Generate pixelated images from collection

In order to convert images into pixelated images you would need a list of images that you want to convert. So run the generator first.

Then simply run this command:

npm run pixelate

All your images will be outputted in the /build/pixel_images directory. If you want to change the ratio of the pixelation then you can update the ratio property on the pixelFormat object in the src/config.js file. The lower the number on the left, the more pixelated the image will be.

const pixelFormat = {
  ratio: 5 / 128,
};

Generate GIF images from collection

In order to export gifs based on the layers created, you just need to set the export on the gif object in the src/config.js file to true. You can also play around with the repeat, quality and the delay of the exported gif.

Setting the repeat: -1 will produce a one time render and repeat: 0 will loop forever.

const gif = {
  export: true,
  repeat: 0,
  quality: 100,
  delay: 500,
};

Printing rarity data (Experimental feature)

To see the percentages of each attribute across your collection, run:

npm run rarity

The output will look something like this:

Trait type: Top lid
{
  trait: 'High',
  chance: '30',
  occurrence: '3 in 20 editions (15.00 %)'
}
{
  trait: 'Low',
  chance: '20',
  occurrence: '3 in 20 editions (15.00 %)'
}
{
  trait: 'Middle',
  chance: '50',
  occurrence: '14 in 20 editions (70.00 %)'
}

Hope you create some awesome artworks with this code 👄

Comments
  • Fix for Apple M1 Chips (makes your Hashlips Art Engine working)

    Fix for Apple M1 Chips (makes your Hashlips Art Engine working)

    1. Download the source and put it somewhere
    2. Be sure using a nodejs version around v14.17.3. Manage your version with nvm, if you need to! a) nvm install v14.17.3 b) nvm alias default v14.17.3 Be sure, you have no node version in your export path in zshrc
    3. Canvas 2.8 failed to install (main reason why it's not working on m1)? Put in your zsh or bash: arch -arm64 brew install pkg-config cairo pango jpeg giflib librsvg
    4. go now in the hashlips_art_engine root-folder and put in your terminal: a) npm install b) node index.js

    Et Voila. Enjoy generating ...

    opened by deemount 107
  • Problem with coding a Discord Bot

    Problem with coding a Discord Bot

    I have been trying to code a discord bot for a while now and every tutorial I follow has the same outcome on my mac which is this... Error: Cannot find module '/Users/..../index.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } I check on my code and it all looks good but this still happens and it can never connect to the bot I have made. The command I use is... node index.js Does someone know how I can fix this and make it go online?

    opened by FishDudeYT 63
  • Error: ENOENT: no such file or directory, scandir 'C:\hashlips_art_engine-main/layers/Eyeball/'

    Error: ENOENT: no such file or directory, scandir 'C:\hashlips_art_engine-main/layers/Eyeball/'

    Hi I have been having this issue without being able to see how to resolve it. I'm not technical at all so this has been very helpful. But what I did,is changing the folders of my layers in my file explorer to match the ones I created in the LayersConfiguration in Visual Studio Code. So I don't have any folder called EyeBall and can't find why I got this error message.

    Can anyone help, please ?

    Error message:

    Error: ENOENT: no such file or directory, scandir 'C:\hashlips_art_engine-main/layers/Eyeball/' at Object.readdirSync (node:fs:1390:3) at getElements (C:\hashlips_art_engine-main\src\main.js:73:6) at C:\hashlips_art_engine-main\src\main.js:89:15 at Array.map () at layersSetup (C:\hashlips_art_engine-main\src\main.js:87:30) at startCreating (C:\hashlips_art_engine-main\src\main.js:349:20) at C:\hashlips_art_engine-main\index.js:6:3 at Object. (C:\hashlips_art_engine-main\index.js:7:3) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) { errno: -4058, syscall: 'scandir', code: 'ENOENT', path: 'C:\hashlips_art_engine-main/layers/Eyeball/'

    opened by arlene91 48
  • Adds `startEditionFrom` configuration and fixes an error when all weights are 0.

    Adds `startEditionFrom` configuration and fixes an error when all weights are 0.

    This PR adds a startEditionFrom property to layerConfigurations. This sets the number the edition starts from, defaulting to 1 if it's not defined. Sol still only starts from 0. Resolves #637

    This also fixes an error an error that occurs when all weights in a layer are 0. If they are all 0 now, it just picks a random element. Should fix #620

    opened by bolshoytoster 38
  • UPDATED: Fix for Apple M1 Chips

    UPDATED: Fix for Apple M1 Chips

    This updates #812 which is no longer the recommended method. Downgrading software is never a good idea, especially to a version so old as v14. There may be bugs, or potentially very unsafe code and security vulnerabilities.

    The correct method is as follows:

    1. Download and install Node.js "Current" version, as opposed to the "LTS" (Long Term Support) version. This is now v18.0.0 as of the time of this post, but 17.x will work as well:
    2. Ensure you have homebrew installed. You can go to or just use this command: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" to install Homebrew.
    3. Install the dependencies via Homebrew using this command: arch -arm64 brew install pkg-config cairo pango jpeg giflib librsvg
    4. In your root folder for the art engine project, install the project: npm install

    @HashLips please go ahead and close/lock #812 since it's no longer relevant.

    opened by ipv6freely 33
  • Add exclusions functionality and tests suite

    Add exclusions functionality and tests suite

    Description

    This PR adds the possibility of defining certain restrictions in the artwork creation:

    • Maximum number of specific traits that can appear repeated across the collection
    • Incompatible traits

    It also includes the testing framework Jest and a suite of tests for all the new generated code and some generic functionality. The coverage reached with the tests is around 85% of the whole codebase.

    Maximum repetitions

    It can be configured at a layer configuration level with the option maxRepeatedTraits which expects a numeric value.

    Example:

    const layerConfigurations = [
      {
        growEditionSizeTo: 5,
        maxRepeatedTraits: 2,
        layersOrder: [
          { name: "Background" },
          { name: "Eyeball" },
          { name: "Eye color" },
          { name: "Iris" },
          { name: "Shine" },
          { name: "Bottom lid" },
          { name: "Top lid" },
        ],
      },
    ];
    

    If for example this value is set to 2, whenever the art engine generates a new artwork that contains 3 or more traits already present in one of the pieces already created for the collection, this new piece will be discarded and a notification will be displayed in the console with the message:

    Combination of traits excluded because of exclusion rules!
    

    The creation of artworks will continue generating new combinations as usual.

    This option will reduce the number of possible combinations and could be possible that the collection can not reach the requested number of elements. In this case increase the number of maximum repetitions or provide more traits in the layers that has less options to increase the probability of selecting different traits.

    If the option is not defined the restriction is not applied.

    Incompatible traits

    If for any reason the artist doesn't want two specific traits to appear together, they can be defined as incompatible.

    Let's consider an example where we are creating a character with a hat and a background among other layers. And we don't want to generate the character with a white hat if the background is also wait because we don't like how they look together. We can exclude this combination in the configuration.

    These incompatibilities can be configured at a layer configuration level with the option incompatibleTraits which is an object where the keys are traits in the format <layer>/<trait> and the value is an array of all the traits that are incompatible with this one using the same <layer>/<trait> format.

    Example:

    const layerConfigurations = [
      {
        growEditionSizeTo: 5,
        layersOrder: [
          { name: "Background" },
          { name: "Eyeball" },
          { name: "Eye color" },
          { name: "Iris" },
          { name: "Shine" },
          { name: "Bottom lid" },
          { name: "Top lid" },
        ],
        incompatibleTraits: {
          "Eye color/Cyan": [
            "Eyeball/Red",
          ],
          "Iris/Large": [
            "Bottom lid/High",
            "Top lid/High",
          ],
        }
      },
    ];
    

    If the art engine generates a new artwork that contains 2 incompatible traits, this new piece will be discarded and a notification will be displayed in the console with the message:

    Combination of traits excluded because of exclusion rules!
    

    The creation of artworks will continue generating new combinations as usual.

    This option will reduce the number of possible combinations and could be possible that the collection can not reach the requested number of elements. In this case reduce the number of incompatibilities or provide more traits in the layers that has less options to increase the probability of selecting different traits.

    If the option is not defined the restriction is not applied.

    Tests suite

    The new functionality was covered by tests to make sure everything works as expected, and some generic tests were created to cover the main building process of the collection to prevent breaking the original code.

    Parts of the code were extracted as separate modules for easier testability.

    To run the test execute the command

    npm test
    

    and to run the test and generate a code coverage report execute

    npm run coverage
    
    opened by arnaugm 30
  • Unexpected Token

    Unexpected Token

    Not sure why I keep getting unexpected token. tried to change it to a couple of other tokens to see if anything changes but it gets upset...I'm using version 10 of node...

    initGifEncoder = () => { ^

    SyntaxError: Unexpected token = at Module._compile (internal/modules/cjs/loader.js:723:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at Object. (/Users/alexis/hashlips_art_engine/src/main.js:32:24) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)

    Here's where it's directing me to the editor

    initGifEncoder = () => { this.gifEncoder = new GifEncoder(this.canvas.width, this.canvas.height); this.gifEncoder.setQuality(this.quality); this.gifEncoder.setRepeat(this.repeat); this.gifEncoder.setDelay(this.delay); };

    opened by adcommodore 29
  • ERROR WHILE USE NODE INDEX.JS CODE

    ERROR WHILE USE NODE INDEX.JS CODE

    Hello, i'm newbie in coding, specially in visual studio code yesterday i had an error like this

    PS D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main> node index.js node:internal/modules/cjs/loader:936 throw err; ^

    Error: Cannot find module 'D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main/node_modules/sha1' Require stack:

    • D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main\src\main.js
    • D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main\index.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:999:19) at require (node:internal/modules/cjs/helpers:102:18) at Object. (D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main\src\main.js:4:14) at Module._compile (node:internal/modules/cjs/loader:1097:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10) at Module.load (node:internal/modules/cjs/loader:975:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:999:19) { code: 'MODULE_NOT_FOUND', requireStack: [ 'D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main\src\main.js', 'D:\2022\NFT\ALAT & SOFTWARE\hashlips_art_engine-main\index.js' ] }

    anyone can help me? :(

    opened by BreachBoy 20
  • error after node index.js

    error after node index.js

    node index.js

    node:internal/modules/cjs/loader:1183 return process.dlopen(module, path.toNamespacedPath(filename)); ^

    Error: The module '\?\D:\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release\canvas.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 93. This version of Node.js requires NODE_MODULE_VERSION 102. Please try re-compiling or re-installing the module (for instance, using npm rebuild or npm install). at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18) at Module.load (node:internal/modules/cjs/loader:975:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:999:19) at require (node:internal/modules/cjs/helpers:102:18) at Object. (D:\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\lib\bindings.js:3:18) at Module._compile (node:internal/modules/cjs/loader:1099:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:975:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) { code: 'ERR_DLOPEN_FAILED' }

    Node.js v17.7.2 PS D:\hashlips_art_engine-1.1.2_patch_v6>

    opened by 1109piyush 19
  • npm install issue

    npm install issue

    i have been racking my brain trying to figure out why npm install is throwing these errors at me.. if someone could please help i would greatly appreciate it!!!

    npm install npm WARN old lockfile npm WARN old lockfile The package-lock.json file was created with an old version of npm, npm WARN old lockfile so supplemental metadata must be fetched from the registry. npm WARN old lockfile npm WARN old lockfile This is a one-time fix-up, please be patient... npm WARN old lockfile npm ERR! code 1 npm ERR! path /home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas npm ERR! command failed npm ERR! command sh /tmp/install-20479bf7.sh npm ERR! Failed to execute '/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/bin/node /home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1) npm ERR! node-pre-gyp info it worked if it ends with ok npm ERR! node-pre-gyp info using [email protected] npm ERR! node-pre-gyp info using [email protected] | linux | x64 npm ERR! node-pre-gyp info check checked for "/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release/canvas.node" (not found) npm ERR! node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.8.0/canvas-v2.8.0-node-v108-linux-glibc-x64.tar.gz npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.8.0/canvas-v2.8.0-node-v108-linux-glibc-x64.tar.gz npm ERR! node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (node-v108 ABI, glibc) (falling back to source compile with node-gyp) npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.8.0/canvas-v2.8.0-node-v108-linux-glibc-x64.tar.gz npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using [email protected] npm ERR! gyp info using [email protected] | linux | x64 npm ERR! gyp info ok npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using [email protected] npm ERR! gyp info using [email protected] | linux | x64 npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3" npm ERR! gyp info spawn /usr/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', npm ERR! gyp info spawn args 'binding.gyp', npm ERR! gyp info spawn args '-f', npm ERR! gyp info spawn args 'make', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/jacoboglesbee1/.cache/node-gyp/18.7.0/include/node/common.gypi', npm ERR! gyp info spawn args '-Dlibrary=shared_library', npm ERR! gyp info spawn args '-Dvisibility=default', npm ERR! gyp info spawn args '-Dnode_root_dir=/home/jacoboglesbee1/.cache/node-gyp/18.7.0', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/home/jacoboglesbee1/.cache/node-gyp/18.7.0/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas', npm ERR! gyp info spawn args '-Dnode_engine=v8', npm ERR! gyp info spawn args '--depth=.', npm ERR! gyp info spawn args '--no-parallel', npm ERR! gyp info spawn args '--generator-output', npm ERR! gyp info spawn args 'build', npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! gyp info spawn args ] npm ERR! /bin/sh: 1: pkg-config: not found npm ERR! gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 127 while in binding.gyp. while trying to load binding.gyp npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: gyp failed with exit code: 1 npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:261:16) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12) npm ERR! gyp ERR! System Linux 5.10.120-16442-g774fa9d77ddb npm ERR! gyp ERR! command "/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/bin/node" "/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v108" npm ERR! gyp ERR! cwd /home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas npm ERR! gyp ERR! node -v v18.7.0 npm ERR! gyp ERR! node-gyp -v v9.0.0 npm ERR! gyp ERR! not ok npm ERR! node-pre-gyp ERR! build error npm ERR! node-pre-gyp ERR! stack Error: Failed to execute '/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/bin/node /home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas/build/Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1) npm ERR! node-pre-gyp ERR! stack at ChildProcess. (/home/jacoboglesbee1/hashlips_art_engine/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23) npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28) npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1091:16) npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:302:5) npm ERR! node-pre-gyp ERR! System Linux 5.10.120-16442-g774fa9d77ddb npm ERR! node-pre-gyp ERR! command "/home/jacoboglesbee1/.config/nvm/versions/node/v18.7.0/bin/node" "/home/jacoboglesbee1/hashlips_art_engine/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" npm ERR! node-pre-gyp ERR! cwd /home/jacoboglesbee1/hashlips_art_engine/node_modules/canvas npm ERR! node-pre-gyp ERR! node -v v18.7.0 npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.6 npm ERR! node-pre-gyp ERR! not ok

    npm ERR! A complete log of this run can be found in: npm ERR! /home/jacoboglesbee1/.npm/_logs/2022-07-30T01_04_35_999Z-debug-0.log

    opened by Joglezbee1 18
  • I have been getting this error every time i try to run engine Very frustrating

    I have been getting this error every time i try to run engine Very frustrating

    t

    [therooster_any_cock_L_doo@fedora hashlips_art_engine-1.1.2_patch_v6]$ npm run generate

    [email protected] generate node index.js

    node:internal/modules/cjs/loader:998 throw err; ^

    Error: Cannot find module '/home/therooster_any_cock_L_doo/Downloads/hashlips_art_engine-1.1.2_patch_v6/node_modules/sha1' Require stack:

    • /home/therooster_any_cock_L_doo/Downloads/hashlips_art_engine-1.1.2_patch_v6/src/main.js
    • /home/therooster_any_cock_L_doo/Downloads/hashlips_art_engine-1.1.2_patch_v6/index.js at Module._resolveFilename (node:internal/modules/cjs/loader:995:15) at Module._load (node:internal/modules/cjs/loader:841:27) at Module.require (node:internal/modules/cjs/loader:1061:19) at require (node:internal/modules/cjs/helpers:103:18) at Object. (/home/therooster_any_cock_L_doo/Downloads/hashlips_art_engine-1.1.2_patch_v6/src/main.js:4:14) at Module._compile (node:internal/modules/cjs/loader:1159:14) at Module._extensions..js (node:internal/modules/cjs/loader:1213:10) at Module.load (node:internal/modules/cjs/loader:1037:32) at Module._load (node:internal/modules/cjs/loader:878:12) at Module.require (node:internal/modules/cjs/loader:1061:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/therooster_any_cock_L_doo/Downloads/hashlips_art_engine-1.1.2_patch_v6/src/main.js', '/home/therooster_any_cock_L_doo/Downloads/hashlips_art_engine-1.1.2_patch_v6/index.js' ] }

    Node.js v19.0.1 [therooster_any_cock_L_doo@fedora hashlips_art_engine-1.1.2_patch_v6]$

    opened by puppetofsmut 16
  • NPM install

    NPM install

    **SOME PLEASE HELP I've been struggling all day with my npm install I've tried everything **

    this is the text im getting when attempting to install npm

    PS C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6> npm i

    [email protected] install C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas node-pre-gyp install --fallback-to-build

    node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.8.0/canvas-v2.8.0-node-v83-win32-unknown-ia32.tar.gz node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (node-v83 ABI, unknown) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.8.0/canvas-v2.8.0-node-v83-win32-unknown-ia32.tar.gz gyp ERR! find Python gyp ERR! find Python Python is not set from command line or npm configuration gyp ERR! find Python Python is not set from environment variable PYTHON gyp ERR! find Python checking if "python" can be used gyp ERR! find Python - "python" is not in PATH or produced an error gyp ERR! find Python checking if "python2" can be used gyp ERR! find Python - "python2" is not in PATH or produced an error gyp ERR! find Python checking if "python3" can be used gyp ERR! find Python - "python3" is not in PATH or produced an error gyp ERR! find Python checking if the py launcher can be used to find Python 2 gyp ERR! find Python - "py.exe" is not in PATH or produced an error gyp ERR! find Python checking if Python is C:\Python27\python.exe gyp ERR! find Python - "C:\Python27\python.exe" could not be run gyp ERR! find Python checking if Python is C:\Python37\python.exe gyp ERR! find Python - "C:\Python37\python.exe" could not be run gyp ERR! find Python gyp ERR! find Python ********************************************************** gyp ERR! find Python You need to install the latest version of Python. gyp ERR! find Python Node-gyp should be able to find and use Python. If not, gyp ERR! find Python you can try one of the following options: gyp ERR! find Python - Use the switch --python="C:\Path\To\python.exe" gyp ERR! find Python (accepted by both node-gyp and npm) gyp ERR! find Python - Set the environment variable PYTHON gyp ERR! find Python - Set the npm configuration variable python: gyp ERR! find Python npm config set python "C:\Path\To\python.exe" gyp ERR! find Python For more information consult the documentation at: gyp ERR! find Python https://github.com/nodejs/node-gyp#installation gyp ERR! find Python ********************************************************** gyp ERR! find Python gyp ERR! configure error gyp ERR! stack Error: Could not find any Python installation to use gyp ERR! stack at PythonFinder.fail (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47) gyp ERR! stack at PythonFinder.runChecks (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21) gyp ERR! stack at PythonFinder. (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16) gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16) gyp ERR! stack at exithandler (child_process.js:390:5) gyp ERR! stack at ChildProcess.errorhandler (child_process.js:402:5) gyp ERR! stack at ChildProcess.emit (events.js:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:280:12) gyp ERR! stack at onErrorNT (internal/child_process.js:469:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:82:21) gyp ERR! System Windows_NT 10.0.22000 gyp ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release\canvas.node" "--module_name=canvas" "--module_path=C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" gyp ERR! cwd C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas gyp ERR! node -v v14.18.2 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release\canvas.node --module_name=canvas --module_path=C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) node-pre-gyp ERR! stack at ChildProcess. (C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules@mapbox\node-pre-gyp\lib\util\compile.js:89:23) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:400:28) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1058:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5) node-pre-gyp ERR! System Windows_NT 10.0.22000 node-pre-gyp ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\@mapbox\node-pre-gyp\bin\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas node-pre-gyp ERR! node -v v14.18.2 node-pre-gyp ERR! node-pre-gyp -v v1.0.6 node-pre-gyp ERR! not ok Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release\canvas.node --module_name=canvas --module_path=C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6\node_modules\canvas\build\Release --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) npm WARN [email protected] No repository field.

    npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install: node-pre-gyp install --fallback-to-build npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\rolan\AppData\Roaming\npm-cache_logs\2023-01-05T23_29_29_144Z-debug.log PS C:\Users\rolan\Downloads\hashlips_art_engine-1.1.2_patch_v6 (1)\hashlips_art_engine-1.1.2_patch_v6>

    opened by rollkwdgds 1
  • Issue when attempting npm run build

    Issue when attempting npm run build

    This is the error I'm getting:

    [email protected] build C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5 node index.js

    (node:8180) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, scandir 'C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5/layers/Eyeball/' at Object.readdirSync (fs.js:1047:3) at getElements (C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5\src\main.js:73:6) at C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5\src\main.js:92:15 at Array.map () at layersSetup (C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5\src\main.js:90:30) at startCreating (C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5\src\main.js:356:20) at C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5\index.js:6:3 at Object. (C:\Users\Mabud\OneDrive\Desktop\hashlips_art_engine-1.1.2_patch_v5\index.js:7:3) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) (Use node --trace-warnings ... to show where the warning was created) (node:8180) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:8180) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    How do I fix this?

    opened by Manerino 1
  • Issue encountered

    Issue encountered

    Screenshot (32) Hi Good day , I am tring to use hashlips_art_engine when i run the code on VS code the following error occured i have no idea about this please someone explain and hoiw can i correct these code ?

    Thanks

    opened by chhaturanga 1
  • npm run build issue

    npm run build issue

    Can you guys help me troubleshoot this? I rolled the node version back using NVM

    PS C:\Users\VellKanj\OneDrive\Desktop\hashlips> npm run build

    [email protected] build C:\Users\VellKanj\OneDrive\Desktop\hashlips node index.js

    C:\Users\VellKanj\OneDrive\Desktop\hashlips\src\main.js:94 layerObj.options?.["displayName"] != undefined ^

    SyntaxError: Unexpected token . at Module._compile (internal/modules/cjs/loader.js:723:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at Object. (C:\Users\VellKanj\OneDrive\Desktop\hashlips\index.js:2:39) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] build: node index.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\VellKanj\AppData\Roaming\npm-cache_logs\2022-12-20T23_50_34_962Z-debug.log PS C:\Users\VellKanj\OneDrive\Desktop\hashlips>

    **** ADDITIONAL LOGGING **** 0 info it worked if it ends with ok 1 verbose cli [ 'C:\Program Files\nodejs\node.exe', 1 verbose cli 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js', 1 verbose cli 'run', 1 verbose cli 'build' ] 2 info using [email protected] 3 info using [email protected] 4 verbose run-script [ 'prebuild', 'build', 'postbuild' ] 5 info lifecycle [email protected]~prebuild: [email protected] 6 info lifecycle [email protected]~build: [email protected] 7 verbose lifecycle [email protected]~build: unsafe-perm in lifecycle true 8 verbose lifecycle [email protected]~build: PATH: C:\Users\VellKanj\nvm\v10.18.0\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\VellKanj\OneDrive\Desktop\hashlips\node_modules.bin;C:\Program Files (x86)\PowerShell\7;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\Python310\Scripts;C:\Python310;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files (x86)\PowerShell\7;C:\Program Files\dotnet;C:\Program Files\Git\cmd;C:\Program Files\Go\bin;C:\ProgramData\chocolatey\bin;%NVM_HOME%;%NVM_SYMLINK%;C:\Users\VellKanj\AppData\Local\Microsoft\WindowsApps;C:\Users\VellKanj\AppData\Local\GitHubDesktop\bin;C:\Users\VellKanj\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\VellKanj.dotnet\tools;C:\Users\VellKanj\go\bin;C:\Users\VellKanj\AppData\Roaming\npm;C:\Users\VellKanj\nvm;C:\Program Files\nodejs 9 verbose lifecycle [email protected]~build: CWD: C:\Users\VellKanj\OneDrive\Desktop\hashlips 10 silly lifecycle [email protected]~build: Args: [ '/d /s /c', 'node index.js' ] 11 silly lifecycle [email protected]~build: Returned: code: 1 signal: null 12 info lifecycle [email protected]~build: Failed to exec build script 13 verbose stack Error: [email protected] build: node index.js 13 verbose stack Exit status 1 13 verbose stack at EventEmitter. (C:\Users\VellKanj\nvm\v10.18.0\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16) 13 verbose stack at EventEmitter.emit (events.js:198:13) 13 verbose stack at ChildProcess. (C:\Users\VellKanj\nvm\v10.18.0\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:198:13) 13 verbose stack at maybeClose (internal/child_process.js:982:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) 14 verbose pkgid [email protected] 15 verbose cwd C:\Users\VellKanj\OneDrive\Desktop\hashlips 16 verbose Windows_NT 10.0.19044 17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "build" 18 verbose node v10.18.0 19 verbose npm v6.13.4 20 error code ELIFECYCLE 21 error errno 1 22 error [email protected] build: node index.js 22 error Exit status 1 23 error Failed at the [email protected] build script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ]

    opened by validusvell 1
  • metadata problems

    metadata problems

    hello, I had to change the attributes of some images and I also wanted to delete some. when I do "node utils/update_info.js" to insert the CID the program resets all 10,000 Json files. Change the attributes of the ones I've edited and put back the ones I've deleted. is there a solution or do i have to put the CID on all 10,000 images by hand? I just need to change the CID nothing more

    opened by faustoandreabellucci 1
Releases(v1.1.2_patch_v6)
Owner
HashLips
HashLips
Youtube-dislikes-adder - Add dislikes to the description of your YouTube videos.

Add number of dislikes to the description of your YouTube videos. Number of dislikes are updated if you let this function as a bot.

fluks 1 Aug 23, 2022
Vigia-youtube - The YouTube Watch bot is able to monitor channels on Google's video platform

Vigia do YouTube O bot Vigia do YouTube é capaz de monitorar canais na plataform

Alessandro Feitosa Jr 10 Oct 3, 2022
A platform which give you info about the newest video on a channel

youtube A platform which give you info about the newest video on a channel. This uses web scraping, a better implementation will be to use the API. BR

Custom components for Home Assistant 36 Sep 29, 2022
Takes a video as an input and creates a video which is suitable to upload on Youtube Shorts and Tik Tok (1080x1920 resolution).

Shorts-Tik-Tok-Creator Takes a video as an input and creates a video which is suitable to upload on Youtube Shorts and Tik Tok (1080x1920 resolution).

Arber Hakaj 5 Nov 9, 2022
A Advanced Anime Theme VC Video Player created for playing vidio in the voice chats of Telegram Groups

Yui Vidio Player A Advanced Anime Theme VC Video Player created for playing vidio in the voice chats of Telegram Groups Demo Setting up Add this Bot t

Achu biju 32 Sep 16, 2021
This will help you study and avoid moving mouse coz u dont need mouse for watching youtube videos

This will help you study and avoid moving mouse coz u dont need mouse for watching youtube videos. Neither u need it for pdfs just use your keyboard

KorryKatti 5 Jan 7, 2022
A multithreaded view bot for YouTube

Simple program to increase YouTube views written in Python.

Monirul Shawon 906 Jan 9, 2023
Python Script for Streaming YouTube Videos in VLC Media Player.

Short Description Use this Simple Script to stream YouTube Video to VLC

Sijey 6 May 27, 2021
A python generator that converts youtube videos to ascii art in your console.

Video To ASCII A python generator that converts youtube videos to ascii art in your console. This has not been tested for windows! Example Normal mode

Julian Jones 24 Nov 2, 2022
iYTDL - Asynchronous Standalone Inline YouTube-DL Module

iYTDL Asynchronous Standalone Inline YouTube-DL Module ⬇️ Installing Install pip3 install iytdl Upgrade pip3 install -U iytdl ⭐️ Features Fully Asynch

iYTDL 46 Dec 24, 2022
A youtube video link or id to video thumbnail python package.

Youtube-Video-Thumbnail A youtube video link or id to video thumbnail python package. Made with Python3

Fayas Noushad 10 Oct 21, 2022
Your self hosted Youtube media server

The Tube Archivist Your self hosted Youtube media server Core functionality Subscribe to your favourite Youtube channels Download Videos using yt-dlp

Simon 2.1k Dec 31, 2022
Script simples para baixar vídeos/áudios/playlist do YouTube

?? VilelaTube ▶️ Script simples para baixar vídeos/áudios/playlist do YouTube Requisitos • Como usar • Melhorias futuras ⚠️ Atenção! ⚠️ Lembre-se de a

João Victor Vilela dos Santos 2 Nov 3, 2021
A python youtube search module

A python youtube search module

Fayas Noushad 4 Dec 1, 2021
Add the dislike count back to my YouTube videos via a comment containing that information.

YouTube Dislikes Forrest Knight Python Version 3.0+ Only use if you know what the code actually does. I'm not responsible for your use of this code in

Forrest Knight 155 Dec 19, 2022
A way to run youtube videos in TTY

TTY youtube client its finally here, the one thing literally NO ONE ASKED FOR!! A way to run youtube videos in TTY Dependencies: (pip) yt-search (syst

null 1 Nov 28, 2021
A simple Python Youtube Wachtime for YTbebot

Simple bot that was development in python 3.7, that automatically watch youtube videos. It can be used to give more views in your channel helping in the spread and increase the followers because your videos begin to gain new positions in research mechanics.

Rian eka wiratma 1 Dec 5, 2021
This is a simple script to generate a .opml file from a list of youtube channels.

Youtube to rss Don't spend more time than you need to on youtube.com This is a simple script to generate a .opml file from a list of youtube channels.

Kostas 1 Oct 4, 2022
Automatically segment in-video YouTube sponsorships.

SponsorBlock Auto Segment [Model Download] Automatically segment in-video YouTube sponsorships. Trained on a large dataset of YouTube sponsor transcri

Akmal 7 Aug 22, 2022