Giter VIP home page Giter VIP logo

artec's Introduction

Logo

Artec

A python application that creates a configurable python project template in a given directory.
It's a maintained version of PyBoiler

Installation

Download from pip

$ pip install Artec

or Install manually

$ git clone https://github.com/HushmKun/Artec
$ cd Artec
$ pip install -U . 

Usage

Create a JSON file to match the folder structure you desire

$ vim structure.json 
    
# Paste the below into your file and modify as you desire
{
    "folders": [
        "{}",
        "test"
    ], 
    "files": [
        "{}/__init__.py",
        "test/__init__.py",
        "README.md",
        "LICENSE",
        "setup.py",
        "pyproject.toml"
    ]
}

How to execute

$ artec -h
usage: artec [OPTIONS] -o [DEST] 

Artec is a python application that creates a configurable python project template in a given directory.

options:
  -h, --help            show this help message and exit
  -s SOURCE, --source-file SOURCE
                        Source JSON file containing structure to be created
  -t TEMPLATE, --template TEMPLATE
                        Uses ready-made templates.
  -o TARGET, --output-directory TARGET
                        Target output path where the structure will be created
  -ls, --list-template  lists all ready-made templates.
  -v, --verbose         Runs Artec in verbose mode.
  -g, --git-init        Creates a git Repo for the project.
  -V, --version         Display current version of Artec

Examples:
        artec -h
        artec -o dest
        artec -o dest -t python
        artec -o dest -s structure.json
        artec -o dest -s structure.json -v

Templates

  • Python
  • Flask
  • Node.Js
  • Data_Science

Version

0.3.1

Contributing

Please refer to Here for contributing. Any help that can contribute to the templates will be really appreciated.

Learning

Since this project is intended as a learning project, It helps me figure out what is the best practices of X, How to use Y, etc...

If you come here to learn, Read this, I will be glad if it helped you learn something new.

License

GNU GPLv3.0

artec's People

Contributors

0018akhil avatar hushmkun avatar omaraboumrad avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

artec's Issues

Creating the git repo

Creating the file & folder structure is but half the work.

Now let's move to initializing the git repository on creation, added the License or maybe the Setup.py , the README etc.

#Goals :

  1. Being able to create a repo.
  2. Adding extra .txt files (README, License, Contributing, ..... ,etc.)

Folder structure can't cross platform

Due to differences between NT Paths & POSIX Paths.

Since this works on windows, It won't follow to UNIX :

[
    {"folder": "src"},
    {"file": "src\\__init__.py"},
    {"folder": "test"},
    {"file": "test\\__init__.py"},
    {"folder": "res"},
    {"file": "README.md"},
    {"file": "setup.py"},
    {"file": "setup.cfg"},
    {"file": "pyproject.toml"},
]

If we wanna work it out on UNIX, It should be :

[
    {"folder": "src"},
    {"file": "src/__init__.py"},
    {"folder": "test"},
    {"file": "test/__init__.py"},
    {"folder": "res"},
    {"file": "README.md"},
    {"file": "setup.py"},
    {"file": "setup.cfg"},
    {"file": "pyproject.toml"},
]

But, of course It won't work on windows.
So we have to either find a common ground or figure a new way.

Make a log in the process.

Instead of using a combination of print & if statements, I am planning to replace it with the logging module.
Still requires the to implement the best to the structural integrity & architecture clean.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.