Giter Site home page Giter Site logo

shailshouryya / test-project Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 336 KB

Test project in python to see how packaging works for python

Home Page: https://pypi.org/project/test-project-python/

License: MIT License

Shell 8.00% Python 92.00%
pypi python3 template template-project pypi-package skeleton skeleton-application skeleton-template

test-project's Introduction

Overview

This repository contains dummy projects in different programming languages to test how packaging works for that programming language.

Programming language agnostic tools

GPG

  • the easiest way to download and install GnuPG is to
    • navigate to the GnuPG binary releases section at https://gnupg.org/download/
    • select the application for your operating system and follow the download link
    • follow the instructions for verifying the download and installing the software for your operating system from there
  • if you want to download GnuPG and install from the source files
    • navigate to the Source code releases section at https://gnupg.org/download/
    • download GnuPG and install (may need to extract and/or unzip the source files first)
    • download Pinentry and install (may need to extract and/or unzip the source files first)
  • keep in mind
    • the setup process may vary depending on your operating system
    • the specific applications you get along with your GPG installation may vary depending your operating system and the bundle you select
      • recent distributions of debian come pre-installed with gpg
      • most GnuPG application bundles install a GUI to streamline the process of creating and managing keys
        • the GPG Suite installed with Mac GPG comes with gpg (binary), GPG Keychain, GPG Mail, and Pinentry
        • GnuPG for OS X comes with gpg (binary) and Pinentry, but not with GPG Keychain nor GPG Mail
        • Gpg4win comes with GpgOL, GpgEX, GnuPG, Kleopatra and pinentry-qt (includes both pinentry.exe and pinentry-w32.exe, not sure which one is run by default)
        • the Simple installer for the current GnuPG for Windows (gnupg-w32-X.Y.Z_yyyymmdd.exe) comes with GnuPg and Pinentry (pinentry-basic.exe), but not with GpgOL, GpgEX, nor Kleopatra
  • some potentially useful tutorials

General Guidelines

Version tag rules

  • git enforces no restrictions on naming conventions for tags
    • git sorts tags in alphabetical order
  • GitHub enforces no restrictions on naming conventions for tags either (and uses git under the hood), but is more nuanced with the tag sorting
    • it appears the releases page (github.com/yourusername/yourreponame/releases) and the tags page (github.com/yourusername/yourreponame/tags) sort the releases and tags, respectively,
      • in reverse chronological order with the tag/commit date as the sort key, not the release date as the sort key (so a tag/commit with a more recent date will appear before a tag/commit with an older date), but when there is a tie (multiple tags/commits have the same date), GitHub uses
        • semantic versioning as the tiebreaker when the tag uses a valid semantic versioning tag (starts with a digit or a lowercase v and follows the MAJOR.MINOR.PATCH format, where MAJOR, MINOR, and PATCH are decimal values between 0-9) with only the first 3 numeric parts of the tag ordered using semantic version ordering, and the remaining part of the tag sorted in reverse alphabetical order
          • NOTE that the reverse chronological order uses the date and does not use the datetime of the tag/commit (so 2 tags from the same date with different release times will still be tied)
          • NOTE that if there are multiple tags that use a valid semver tag and are released on the same date and have the same value for the first three numeric fields MAJOR.MINOR.PATCH, the sorting will use reverse alphabetical order using the rest of the tag/release name as the sort key and not use the rules specified in number 10 under the "Semantic Versioning Specification (SemVer)" section on the Semantic Versioning 2.0.0 document
          • NOTE that an uppercase v, such as V1.2.3, does not qualify as a valid semantic versioning tag by this definition
        • reverse alphabetical order as the tiebreaker (so tag-d will appear before tag-c) when the tag uses an invalid semantic versioning tag (starts with anything other than a digit or a lowercase v)
    • example sort order (same order on both the Tags page and Releases page:
# these are correctly sorted in reverse chronological order
0.0.2.post7-python
0.0.2.post6-python
0.0.2.post5-python
0.0.0.post0
0.0.0
0.0.2.post4-python
0.0.2.post3-python
0.0.2_post_2-python
0.0.2-post-1-python
0.0.2.post0-python
0.0.2-python
0.0.1-python
# these are sorted in NEITHER reverse chronological order NOR reverse alphabetical order
0.0.2.post5-python
0.0.2.post4-python
0.0.2.post3-python
0.0.2_post_2-python   # this should be first if sorted reverse alphabetically
0.0.2.post0-python
0.0.2-python
0.0.2-post-1-python   # order after 0.0.2-python makes sense if reverse alphabetical order, but there are other inconsistencies for the reverse alphabetical sort (see comment above and below)
0.0.1-python
0.0.0                 # this should be LAST if sorted reverse alphabetically
0.0.0.post0

test-project's People

Contributors

shailshouryya avatar

Watchers

 avatar

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.