hatch
cosign
Our great sponsors
hatch | cosign | |
---|---|---|
20 | 30 | |
5,324 | 4,068 | |
4.4% | 3.3% | |
9.5 | 9.6 | |
4 days ago | 5 days ago | |
Python | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hatch
-
Uv: Python Packaging in Rust
Exciting stuff! I view Hatch [1] as becoming the Cargo for Python because it's already close and has an existing (and growing) user base but I can definitely see depending on this for resolution and potentially not even using pip after it becomes more stable.
[1]: https://hatch.pypa.io/latest/
-
lockfiles for hatch projects
I was inspired enough by the hatch sync idea that I created a PR to add that functionality to hatch: https://github.com/pypa/hatch/pull/1094
-
Building and Releasing a Python CLI
Another concept I learned was about build backends, an import step which is used to initialize and install any dependencies of the app you're packaging. Since the tutorial went with using Hatch that is also what I went with, though it didn't provide a lot of useful details especially because it didn't show how to add any dependencies, so I took a look at the docs which were very nice and simple to follow.
-
Is there an up-to-date python package template?
Try using hatch: https://hatch.pypa.io/latest/
-
How do I install dependencies in Hatch?
I'm trying to learn Hatch, I currently use [Poetry](python-poetry.org/) to manage my dependencies, and while I'm overall happy with it, I really like the features I'm reading about with Hatch. I'm also working on learning CI pipelines & Dockerizing Python applications, and Hatch seems like a really useful tool to learn for this (and just as a general use tool).
- pipenv or virtualenv ?
-
Call for questions for Guido van Rossum from Lex Fridman
Poetry 1.2 has been a pain. Which was the dev's fault though. Switching to something new while deprecating a related feature is just plain bad. I've been looking into modern alternatives like PDM and Hatch, but haven't used them (yet).
-
So how do you actually deploy code/scripts?
For example, when it comes to Python, one option is to use the same packaging system that a huge number of open-source libraries and tools are published with. You can use setuptools or Hatch to build a "packaged" version of your code, and publish it to either the public PyPi repository or an internal one that you set up. Then your users can use pip to install your package, automatically fetch its dependencies, and keep it up to date, just like any other Python module.
-
Scala isn't fun anymore
Don't forget the new PyPa tool on the block: Hatch.
-
How to create a Python package in 2022
See also: https://github.com/pypa/hatch
cosign
-
Securing CI/CD Images with Cosign and OPA
Cosign: In this context, Cosign from the Sigstore project offers a compelling solution. Its simplicity, registry compatibility, and effective link between images and their signatures provide a user-friendly and versatile approach. The integration of Fulcio for certificate management and Rekor for secure logging enhances Cosign's appeal, making it particularly suitable for modern development environments that prioritize security and agility.
-
An Overview of Kubernetes Security Projects at KubeCon Europe 2023
sigstore is another suite of tools that focuses on attestation and provenance. Within the suite are two tools I heard mentioned a few times at KubeCon: Cosign and Rekor.
-
Spin 1.0 — The Developer Tool for Serverless WebAssembly
Since we can distribute Spin applications using popular registry services, we can also take advantage of ecosystem tools such as Sigstore and Cosign, which address the software supply chain issue by signing and verifying applications using Sigstore's new keyless signatures (using OIDC identity tokens from providers such as GitHub).
-
Iron Bank: Secure Registries, Secure Containers
Use distroless images (which contain only application and its runtime dependencies, and don't include package managers/shells or any other programs you would expect to find in a standard Linux distribution). All distroless images are signed by cosign.
-
Getting hands on with Sigstore Cosign on AWS
$ COSIGN_EXPERIMENTAL=1 cosign verify-blob --cert https://github.com/sigstore/cosign/releases/download/v1.13.1/cosign-linux-amd64-keyless.pem --signature https://github.com/sigstore/cosign/releases/download/v1.13.1/cosign-linux-amd64-keyless.sig https://github.com/sigstore/cosign/releases/download/v1.13.1/cosign-linux-amd64
-
How much are you 'trusting' a docker image from hub.docker.com?
Another thing to look for is, whether the image is signed using something like cosign (https://github.com/sigstore/cosign). This lets the publisher digitally sign the image, so you at least know that what's on the registry is what they intended to put there. Handy to avoid the risks of attackers squatting similar names and catching typos.
-
What security controls to prevent someone from pushing arbitrary code into production?
i’m late but surprised no one has mentioned cosign
-
Docker build fails on GitHub Action after net7 update
name: Docker # This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. on: push: branches: [ "main" ] # Publish semver tags as releases. tags: [ 'v*.*.*' ] pull_request: branches: [ "main" ] paths: - src/MamisSolidarias.WebAPI.Campaigns/Dockerfile - .github/workflows/docker-publish.yml workflow_dispatch: env: # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io IMAGE_NAME: mamis-solidarias/campaigns jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write # This is used to complete the identity challenge # with sigstore/fulcio when running outside of PRs. id-token: write steps: - name: Checkout repository uses: actions/checkout@v3 # Install the cosign tool except on PR # https://github.com/sigstore/cosign-installer - name: Install cosign if: github.event_name != 'pull_request' uses: sigstore/cosign-installer@main with: cosign-release: 'v1.13.1' - name: Set up QEMU uses: docker/setup-qemu-action@v2 with: platforms: 'arm64' # Workaround: https://github.com/docker/build-push-action/issues/461 - name: Setup Docker buildx uses: docker/setup-buildx-action@v2 # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | type=schedule type=ref,event=branch type=ref,event=pr type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image id: build-and-push uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64, linux/arm64 file: src/MamisSolidarias.WebAPI.Campaigns/Dockerfile push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} # Sign the resulting Docker image digest except on PRs. # This will only write to the public Rekor transparency log when the Docker # repository is public to avoid leaking data. If you would like to publish # transparency data even for private images, pass --force to cosign below. # https://github.com/sigstore/cosign - name: Sign the published Docker image if: ${{ github.event_name != 'pull_request' }} env: COSIGN_EXPERIMENTAL: "true" # This step uses the identity token to provision an ephemeral certificate # against the sigstore community Fulcio instance. run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }}
-
How to tag base image so images built from it can be tracked
After inspecting the layers i think you should start thinking about signing your images: https://github.com/sigstore/cosign/
-
Understanding Kubernetes Limits and Requests
cosign
What are some alternatives?
Poetry - Python packaging and dependency management made easy
notation - A CLI tool to sign and verify artifacts
setuptools - Official project repository for the Setuptools build system
in-toto-golang - A Go implementation of in-toto. in-toto is a framework to protect software supply chain integrity.
pip-tools - A set of tools to keep your pinned Python dependencies fresh.
connaisseur - An admission controller that integrates Container Image Signature Verification into a Kubernetes cluster
poetry-dynamic-versioning - Plugin for Poetry to enable dynamic versioning based on VCS tags
spire - The SPIFFE Runtime Environment
reloadium - Hot Reloading and Profiling for Python
spiffe-vault - Integrates Spiffe and Vault to have secretless authentication
PyNeuraLogic - PyNeuraLogic lets you use Python to create Differentiable Logic Programs
rekor - Software Supply Chain Transparency Log