Skip to main content

Helps you keep your project together

Project description

Projecteer

This is a tool for all people doing many projects.

This should:

  • configuration
  • help you with Project setup

Getting started

The easiest way to install Projecteer is to use pip:
pip install projecteer

To get started create a project.config file in the root of your project.

This will be the last config file I promise

In it write a format like dotenv: [VARIABLENAME]=[EXPRESSION]

But unlike dotenv, the EXPRESSION can also be a calculation (any python expression in that regard), thus strings have to be contained in " quotes.

After that you can use the |VARIABLENAME| in ANY file, just mark it as .configured somewhere in the name

eg: .configured.env mySite.configured.html docker-compose.configured.yaml

When working with git: add |PROJECTEER_GENERATED_FILES| to your .gitignore, to not check them into source-control

For your scripts: add a project.scripts file and add your scripts like so: SCRIPTNAME: SCRIPT-COMMAND WITH |VARIABLES| if you have multiple commands that should be executed from the same working-directory: CWD = ./even/here/|VARIABLES|

For a better understanding, please look at the example.

Configuration

Projecteer helps you to configure your project not your application. The difference being that a project can be anything, also multiple applications.

Learn about the Best practices to make the most out of projecteer and not get frustrated.

Variables

Lets say you have a backend and a frontend, and they should communicate over http. You set the port to be 8080 for now. Now later in your development, you decide 8080 is garbage, i need 80 then you would have to set that value in both frontend and backend. That isnt too bad, but once you have your dockerfiles, deployment scripts/configs, custom scripts, npm start scripts and what not, it can become tedious.

Projecteer allows you to set your CONFIG Variables in ONE place.

Scripts

Take that example, your backend is an nodeJs application and you have some npm-scripts, as well as another project written in dart/flutter:

You can create a script to get everything up and running with one command: projecteer setup or projecteer install, however you like, this can be achieved by: setup: cd |BACKEND_DIR| && npm i && cd ../|FRONTEND_DIR| && flutter pub get

You can set a working directory inside the scripts file for all commands below: CWD=./someWrkdir CWD=./|someVariable|/somethingElse

Commands

Cleanup

You don't need to worry about projecteer not keeping everything tidy, but if you do have issues, there is this command:

projecteer cleanup

This will remove all generated files.

Special commands

Ever wondered, how many lines of code you have written in 534 files? Well projecteer can help you with that and more:

projecteer stats

This command will use the array of source-folders as specified with SRC_FOLDERS. You can use and ! in front of a folder to exclude it from the calculation Per default it will use . and exclude .* and .projecteer, which will be always excluded

Best practices

Projecteer is designed to update other config formats, not sourcecode, though undoubtedly it will do that. The reason for not using it to configure sourcecode is that you will end up with many duplicate files in your sourcecode folders.

So it is encouraged to let projecteer configure:

  • config-files
    • .env files
    • .config
    • .eslint
    • and what not
  • dockerfiles
    • docker-compose
  • deployment files
    • k8s files
    • custom scripts this is discuraged, if possible, because you should also use config files
  • api-specs
  • documentation

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

projecteer-0.1.11.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

projecteer-0.1.11-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file projecteer-0.1.11.tar.gz.

File metadata

  • Download URL: projecteer-0.1.11.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for projecteer-0.1.11.tar.gz
Algorithm Hash digest
SHA256 a023e44b0084e77758c67e3579ade9a3f2856306464190d87ff19fbb6bce0f3e
MD5 0b2503ad4a0817028a93194fe69f7f7e
BLAKE2b-256 fbb61d31291a145c17e88da5bcb2981d9ba2dc20599363232902d09a6443620a

See more details on using hashes here.

File details

Details for the file projecteer-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: projecteer-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for projecteer-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 e4a684e0d0c284737a95aeea94a06e53eac7e02feee23099732fbc48ca749d0b
MD5 41c1e5116bead8ccc19868895cce20fc
BLAKE2b-256 34695cbec858f2ee17e565eb6e866213fe9567e61f3f99c485dbafb79b91e037

See more details on using hashes here.

Supported by

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