Skip to main content

With this program, you can easily create a repository on GitHub :octocat: with a basic template, personalized for your use.

Project description

create_structure

GitHub license Author Version Language Python sys.platform supported On GitHub PyPI

Contents

Description

This is the magic :octocat: bot :octocat: by Castellani Davide With this programm you can easily create a repository on GitHub :octocat: with a basic template, personalized for your use.

Required

  • required python3 (>=3.8)
  • pip3
  • Internet connection
  • GitHub account

Setup

Attention: replace <SOME_WORDS> with your values

  • Debian/ Ubuntu using apt:
    • sudo add-apt-repository ppa:castellanidavide/createstructure; sudo apt update; sudo apt install createstructure
  • Windows (using choco):
    • choco install createstructure
    • createstrucure.exe -l <- for the login
  • All OS using pypi:
    • pip install createstructure
    • Made an alias of use
      • Value of the alias: python3 -c "exec(\"from create_structure import create_structure;create_structure()\")" -t=<TOCKEN> -s=<(optional)_ARRAY_OF_TEMPLATE_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_AND_FILES_TO_BE_IGNORED_BY_TEMPLATE>
      • Eg. ubuntu/debian (after this reload the terminal): echo alias createstructure='python3 -c "exec(\"from create_structure import create_structure;create_structure()\")" -t=<TOCKEN> -s=<(optional)_ARRAY_OF_TEMPLATE_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_AND_FILES_TO_BE_IGNORED_BY_TEMPLATE>' >> ~/.bash_aliases
      • Example of use: echo "alias createstructure='python3 -c \"exec(\\\"from create_structure import create_structure;create_structure()\\\")\" -t=abcb1234 -s=[CastellaniDavide] -o=CastellaniDavideTest -i=[.vs,.vscode]'" >> ~/.bash_aliases
  • Manual by source:
    • install git
    • download the repo git clone https://github.com/CastellaniDavide/create_structure.git
    • install python3
    • install pip3
    • install requirements.txt (in core of the project): pip3 install -r requirements/requirements.txt
    • create an alias
      • name: create_structure
      • attribute: python3 <ABSOLUTE_PATH_OF_REPO>/bin/create_structure.py -t= -s=<ARRAY_OF_SOURCES> -o=<(optional)_ORGANIZATION> -i=<(optional)_FOLDERS_TO_BE_IGNORED_FROM_TEMPLATE>

Update

  • With pypi method: pip3 install [package_name] --upgrade

Directories structure

  • .github
    • ISSUE_TEMPLATE
      • *.md
    • workflows
      • *.yml
  • choco
  • create_structure
    • __init __.py
  • debian
  • doc
    • _config.yml
    • LICENSE
    • README.md
  • requirements
    • requirements.txt
  • setup.py
  • .gitignore

Execution examples

  • create_structure

How to create your own template

1. Open father template

2. Clone the templete into your GitHub account

  • Press "Use this template" bottom
  • Compile the form that you see, take attention to the owner and make sure the visibity to "Public"

3. Modify it

  • You can clone on your PC and choose what and how to change (it's not a problem if you want to change all the structure :smile:)
  • Take attention to che .castellanidavide\change.json file
    • You can see some change examples => ... "from": "to", ...
    • Make attention to this special alias
      • sol<question_tag>sol -> the result of your answer in the form you made at the beginning
      • time__now -> Datetime (format yyyy-mm-dd)
      • time_now -> Datetime (format yyyymmdd)
      • (Do you have any idea? You can say me on the help email help@castellanidavide.it and I could add it to newer versions)
  • Rememper to push your changes

4. Add your account into research

  • Add your Own name into SOUCES_OF_TEMPLATES, keep attention to the order (i sugge

5. Try it

  • Try to execute this programm and check correct use

Changelog

7.1_2021-02_13

  • Change internal team variable (team pointer => team name)
  • Adjust emoji
  • Add a parameter to create a template eg. -temp --template
  • Optimized multithreading on push

7.0_2021-01-11

  • Added Debian package
  • Added Choco package
  • Automate Choco package publishing

6.2_2021-01-04

  • Added emoji :smile: to the output

6.1_2021-01-03

  • Fixed a bug
  • Adjusted variable names
  • Added a method to understand when an answer is positive, this for a more centralized control
  • Added developer/ verbose setting
  • Update .gitignore
  • Added the possibility to add automatically the answers
  • Optimized README.md
  • Now the workflows file are loaded at the end
  • Update workflows

5.5_2020-12-13

  • Add first version of GitHub Actions

5.4_2020-12-12

  • Fixed some bugs
  • Changed the README.md
  • Create a setup method <= easier to use
  • Changed the way to give the tocken, ... => now by CLI

5.3_2020-11-29

  • removed some untils lines
  • accelerated the code
  • parametrized the folder to be ignored
  • start to use multitreading (41 sec. -> 10 sec.) (I made this test using this template)
  • optimized imports
  • optimised variables

5.2_2020-11-28

  • Added the website documentation
  • Fixed a bug

5.1_2020-11-28

  • Fixed a bug
  • Add team selection in runtime execution

5.0_2020-11-21

  • Fixed a bug
  • Made a better documentation
  • Optimized the question structure
  • Optimized the questions
  • Added some variables
    • Template sources list
    • Organization name (if you want to save into an Organization)
  • Removed some ununtil variables

4.0_2020-09-25

Changes
  • Fixed a bug
  • Remove the necessity of insert credentials any time
  • Download in any case, before only if public repo
  • removed unused files

3.1_2020-08-18

Changes
  • optimized the code
  • added requirements.txt

3.0_2020-08-15

Changes
  • add GitHub support with a lot of options (eg. repo private or public)

2.0_2020-03-24

Changes
  • adjusted some bugs
  • improved the program

1.0_2020-03-24

  • Initial version

Made by Castellani Davide If you have any problem or ask please contact me:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

createstructure-7.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

createstructure-7.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file createstructure-7.1.tar.gz.

File metadata

  • Download URL: createstructure-7.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for createstructure-7.1.tar.gz
Algorithm Hash digest
SHA256 ccef36b2cb4d6f361a0fd403eeefb372ef7394d624be4f168db22a273d1ea834
MD5 49abb6aba817cfc02ec2d23bb8a7fbed
BLAKE2b-256 e93b9f9c923a2c79717507652a6787120e2894e136932033e127ea063fb97d63

See more details on using hashes here.

File details

Details for the file createstructure-7.1-py3-none-any.whl.

File metadata

  • Download URL: createstructure-7.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for createstructure-7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 35dd9b986ab03e4b34c4d3cef8be479fdaec7c4ff7c4de9fd08741fe8ca06578
MD5 260277221740f6a08b00fca00ac58cf8
BLAKE2b-256 c14e89aa0808357172874e76d1d5cbee4756a962c3b4775a6e469851b19e923b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page