# import

Published articles for import.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## SecretSpec 0.18: Secret lifecycle, four new providers, and Swift

DevFeed: [SecretSpec 0.18: Secret lifecycle, four new providers, and Swift](<https://devfeed.tech/articles/secretspec-0-18-secret-lifecycle-four-new-providers-and-swift-31364.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/secretspec-0-18-secret-lifecycle-four-new-providers-and-swift/79333>)

Author: domenkozar

Published: 2026-08-04T15:41:38Z

Content type: release

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [aws](<https://devfeed.tech/tags/aws.md>), [cli](<https://devfeed.tech/tags/cli.md>), [import](<https://devfeed.tech/tags/import.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [swift](<https://devfeed.tech/tags/swift.md>), [vault](<https://devfeed.tech/tags/vault.md>)

### AI overview

SecretSpec 0.18 expands secret lifecycle operations, adds four providers, and introduces a Swift SDK. It also adds declaration discovery from additional stores, provider migration safeguards, and several authentication and platform updates.

### Source excerpt

0.18 release expands the secret lifecycle, adds four providers, and introduces a Swift SDK. We have a new logo! Declare, delete, and safely move secrets Declare secrets without hand-editing the manifest: $ secretspec add STRIPE_API_KEY --description "Stripe API access token" ✓ Added secret 'STRIPE_API_KEY' to profile 'default' in secretspec.toml secretspec add preserves the manifest's comments and formatting without asking for or storing a value. secretspec delete removes stored values while keeping their declarations. Provider migrations can remove the source after proving the move succeeded: secretspec import dotenv:~/.config/payments/.env --delete-source SecretSpec verifies each destination value before deleting its source and leaves the source intact when conflicts occur. Discover declarations from existing stores secretspec init --from can now discover declarations from age files, AWS Parameter Store hierarchies, and scoped Bitwarden collections, in addition to dotenv. It writes names and generated descriptions to secretspec.toml, never values. Four new providers SecretSpec now supports 24 providers, including: Bitwarden Password Manager (bw://): read, write, and discover vault items through the bw CLI. Keeper Secrets Manager (keeper://): batched reads, writes, deletion, and existing-record references. AWS Parameter Store (awsps://): KMS-encrypted parameters, versioned references, and bounded discovery. Dashlane (dashlane://): read-only secrets, secure notes, and logins through dcli. Swift SDK and provider authentication The new Swift SDK brings the shared SecretSpec resolver to macOS 12+ on Intel and Apple silicon as a checksummed XCFramework. Vault and OpenBao also gain custom AppRole and JWT mount paths, dotenv paths accept ~, and Linux keyring builds no longer require system libdbus. Read the full announcement: SecretSpec SecretSpec 0.18: Secret lifecycle, Bitwarden, Keeper, AWS Parameter Store,... Declare, discover, migrate, and delete secrets from the CLI

## Migrate CloudFormation to Pulumi with Discovered Stacks

DevFeed: [Migrate CloudFormation to Pulumi with Discovered Stacks](<https://devfeed.tech/articles/migrate-cloudformation-to-pulumi-with-discovered-stacks-18996.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/discovered-stacks-migrate-cloudformation-to-pulumi/>)

Author: Alejandro Cotroneo

Published: 2026-07-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [AWS CloudFormation](<https://devfeed.tech/topics/aws-cloudformation.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [VPC](<https://devfeed.tech/topics/vpc.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [DynamoDB](<https://devfeed.tech/topics/dynamodb.md>), [AWS IAM](<https://devfeed.tech/topics/aws-iam.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [cloudformation](<https://devfeed.tech/tags/cloudformation.md>), [dynamodb](<https://devfeed.tech/tags/dynamodb.md>), [git](<https://devfeed.tech/tags/git.md>), [iac](<https://devfeed.tech/tags/iac.md>), [iam](<https://devfeed.tech/tags/iam.md>), [import](<https://devfeed.tech/tags/import.md>), [insights](<https://devfeed.tech/tags/insights.md>), [kms](<https://devfeed.tech/tags/kms.md>), [migration](<https://devfeed.tech/tags/migration.md>), [pulumi](<https://devfeed.tech/tags/pulumi.md>), [pulumi-cloud](<https://devfeed.tech/tags/pulumi-cloud.md>), [pulumi-neo](<https://devfeed.tech/tags/pulumi-neo.md>), [s3](<https://devfeed.tech/tags/s3.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [vpc](<https://devfeed.tech/tags/vpc.md>)

### AI overview

A tutorial shows how to migrate a 61-resource AWS CloudFormation stack to Pulumi using Discovered Stacks in Pulumi Cloud. It explains how to find the stack, review migration status, start the migration, resolve unmatched resources, and verify the result with a zero-diff pulumi preview.

### Source excerpt

With Discovered Stacks, Pulumi Cloud does the bookkeeping for a CloudFormation migration: every resource in the stack gets an explicit migration status, and the migration is done when the code provably matches the cloud. In this tutorial, we take one real CloudFormation stack from discovered to migrated and managed by Pulumi IaC, end to end. What we're migrating Our example is payments-api, a CloudFormation stack with 61 resources: a VPC, an Aurora ledger database behind an RDS Proxy, an assets S3 bucket, a DynamoDB ledger table, a Kinesis payment-events pipeline, and the IAM roles, KMS keys, and secrets that wire them together. The plan has five steps: Find the stack in Pulumi Cloud. Review the migration breakdown at a glance. Start the migration. Resolve the stragglers, so every resource is accounted for. Confirm the quality gate: a zero-diff pulumi preview. We'll use Pulumi Neo to do the heavy lifting, but nothing here depends on it. The same flow works with your own coding agent or entirely by hand, because migration status is derived from actual stack state -- however the work gets done, the console shows the same progress. Step 1: Find your stack in Pulumi Cloud Discovered Stacks builds on Discovery, so the only prerequisite is a scanned cloud account -- the AWS account holding your CloudFormation stacks. Once a scan has run, open the Stacks page and turn on Show Discovered Stacks. Your CloudFormation stacks appear alongside your Pulumi stacks. The project name comes from the CloudFormation stack (payments-api), and the stack name encodes the account and region it came from, so the same template deployed to two regions shows up as two distinct discovered stacks. Step 2: Plan the migration at a glance Open the discovered stack's Migration tab. It lays out all 61 resources of payments-api by status, so you can visualize the migration before touching anything: 54 Ready: mapped to a Pulumi type and confirmed to exist -- importable right now. 2 Not found: mapped, but

## Isovalent Networking for Kubernetes 1.19: BGP Route Import, Policy Tiers, and Timescape enhancements

DevFeed: [Isovalent Networking for Kubernetes 1.19: BGP Route Import, Policy Tiers, and Timescape enhancements](<https://devfeed.tech/articles/isovalent-networking-for-kubernetes-1-19-bgp-route-import-policy-tiers-and-timescape-enhancements-31331.md>)

Original publisher: [Read original article](<https://isovalent.com/blog/post/isovalent-networking-for-kubernetes-119-bgp-route-import-policy-tiers-and-timescape-enhancements/>)

Author: Dean Lewis

Published: 2026-07-10T08:58:39Z

Content type: release

Language: en

Sources: [Isovalent - The latest articles covering eBPF-based Networking, Observability, and Security](<https://devfeed.tech/sources/isovalent-the-latest-articles-covering-ebpf-based-networking-observability-and-security.md>)

Topics: [networking](<https://devfeed.tech/topics/networking.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [BGP](<https://devfeed.tech/topics/bgp.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [bgp](<https://devfeed.tech/tags/bgp.md>), [import](<https://devfeed.tech/tags/import.md>), [isovalent](<https://devfeed.tech/tags/isovalent.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [latest](<https://devfeed.tech/tags/latest.md>), [networking](<https://devfeed.tech/tags/networking.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Isovalent Networking for Kubernetes 1.19 is presented as a release featuring BGP route import, policy tiers, and Timescape enhancements.

### Source excerpt

Learn about the latest Isovalent Networking for Kubernetes 1.19 release

## Kubo 0.42.0 release: on-demand CID announcements, partial CAR import and export, and reprovide changes

DevFeed: [Kubo 0.42.0 release: on-demand CID announcements, partial CAR import and export, and reprovide changes](<https://devfeed.tech/articles/just-released-kubo-0-42-0-35642.md>)

Original publisher: [Read original article](<https://github.com/ipfs/kubo/releases/tag/v0.42.0>)

Author: Ipfs

Published: 2026-06-08T00:00:00Z

Content type: release

Language: en

Sources: [IPFS](<https://devfeed.tech/sources/ipfs.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [version](<https://devfeed.tech/topics/version.md>), [export](<https://devfeed.tech/topics/export.md>), [import](<https://devfeed.tech/topics/import.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [block](<https://devfeed.tech/tags/block.md>), [export](<https://devfeed.tech/tags/export.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [import](<https://devfeed.tech/tags/import.md>), [kubo](<https://devfeed.tech/tags/kubo.md>), [migration](<https://devfeed.tech/tags/migration.md>), [other](<https://devfeed.tech/tags/other.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [releases](<https://devfeed.tech/tags/releases.md>), [retries](<https://devfeed.tech/tags/retries.md>), [routing](<https://devfeed.tech/tags/routing.md>), [store](<https://devfeed.tech/tags/store.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Kubo 0.42.0 adds on-demand CID announcements, supports streaming CIDs from standard input, and introduces partial CAR export and import. It also changes providing semantics, fixes pin operations blocked by reprovide cycles, and improves migration retries for older repositories.

### Source excerpt

Just released: Kubo 0.42.0!

## Agentic Nx Import: Let an Agent Drive Your Monorepo Migrations

DevFeed: [Agentic Nx Import: Let an Agent Drive Your Monorepo Migrations](<https://devfeed.tech/articles/agentic-nx-import-let-an-agent-drive-your-monorepo-migrations-21396.md>)

Original publisher: [Read original article](<https://nx.dev/blog/agentic-nx-import>)

Author: Juri Strumpflohner

Published: 2026-04-30T00:00:00Z

Content type: article

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [blog](<https://devfeed.tech/tags/blog.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [git](<https://devfeed.tech/tags/git.md>), [import](<https://devfeed.tech/tags/import.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [nx](<https://devfeed.tech/tags/nx.md>), [project](<https://devfeed.tech/tags/project.md>), [skills](<https://devfeed.tech/tags/skills.md>), [tests](<https://devfeed.tech/tags/tests.md>), [token-efficiency](<https://devfeed.tech/tags/token-efficiency.md>), [tool](<https://devfeed.tech/tags/tool.md>), [verification](<https://devfeed.tech/tags/verification.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The article describes an agentic workflow for importing existing projects into an Nx monorepo. The Nx CLI handles deterministic work such as cloning, file moves, plugin detection, setup, and Git history preservation, while an AI agent addresses workspace-specific gaps and performs follow-up verification.

### Source excerpt

AI agents make importing existing projects into an Nx monorepo easier: does the heavy lifting while the agent handles workspace-specific gaps.

## Upgrade Cypress To TypeScript v6

DevFeed: [Upgrade Cypress To TypeScript v6](<https://devfeed.tech/articles/upgrade-cypress-to-typescript-v6-28902.md>)

Original publisher: [Read original article](<https://glebbahmutov.com/blog/upgrade-cypress-to-typescript-v6/>)

Author: Gleb Bahmutov

Published: 2026-04-23T04:00:00Z

Content type: tutorial

Language: en

Sources: [Gleb Bahmutov](<https://devfeed.tech/sources/gleb-bahmutov.md>)

Topics: [Cypress](<https://devfeed.tech/topics/cypress.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>)

Tags: [cypress](<https://devfeed.tech/tags/cypress.md>), [import](<https://devfeed.tech/tags/import.md>), [module](<https://devfeed.tech/tags/module.md>), [products](<https://devfeed.tech/tags/products.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains how to upgrade Cypress projects to TypeScript v6. It recommends using bundler module resolution with Webpack and adjusting transpilation and path-alias options when needed.

### Source excerpt

Finally, it has happened. Cypress v15.14 supports TypeScript v6. This is a big deal

## How to bypass SSL for PROJ reprojection

DevFeed: [How to bypass SSL for PROJ reprojection](<https://devfeed.tech/articles/how-to-bypass-ssl-for-proj-reprojection-35590.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/how-to-bypass-ssl-for-proj-reprojection/>)

Author: Robin Wilson

Published: 2026-03-23T16:23:36Z

Content type: tutorial

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Security](<https://devfeed.tech/topics/security.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [import](<https://devfeed.tech/topics/import.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [osx](<https://devfeed.tech/topics/osx.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [academic](<https://devfeed.tech/tags/academic.md>), [command](<https://devfeed.tech/tags/command.md>), [computing](<https://devfeed.tech/tags/computing.md>), [gis](<https://devfeed.tech/tags/gis.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [linux](<https://devfeed.tech/tags/linux.md>), [osx](<https://devfeed.tech/tags/osx.md>), [remote-sensing](<https://devfeed.tech/tags/remote-sensing.md>), [security](<https://devfeed.tech/tags/security.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial explains how to temporarily disable SSL verification for PROJ during coordinate reprojection when self-signed or misconfigured certificates cause downloads of conversion data to fail. It notes the security trade-off and points to setting a PROJ environment variable.

### Source excerpt

A friend was using GDAL's ogr2ogr command to import some data to PostGIS recently, and as part of the import they were doing a reprojection of the data. They got the following error: PROJ: Cannot open https://cdn.proj.org/uk_os_OSTN15_NTv2_OSGBtoETRS.tif: schannel: the certificate or certificate chain is based on an untrusted root They've had various SSL errors on [...]

## How to fix osm2pgrouting error 'relation "\_\_waysXXXX" does not exist' and speed up the import

DevFeed: [How to fix osm2pgrouting error 'relation "\_\_waysXXXX" does not exist' and speed up the import](<https://devfeed.tech/articles/how-to-fix-osm2pgrouting-error-relation-waysxxxx-does-not-exist-and-speed-up-the-import-35593.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/how-to-fix-osm2pgrouting-error-relation-__waysxxxx-does-not-exist-and-speed-up-the-import/>)

Author: Robin Wilson

Published: 2026-01-31T10:33:00Z

Content type: tutorial

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [import](<https://devfeed.tech/topics/import.md>), [Database](<https://devfeed.tech/topics/database.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [database](<https://devfeed.tech/tags/database.md>), [error](<https://devfeed.tech/tags/error.md>), [gis](<https://devfeed.tech/tags/gis.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

A practical guide to fixing an osm2pgrouting error involving a missing __waysXXXX relation while importing OpenStreetMap data into PostGIS. It explains that increasing the command's chunk-size parameter can prevent crashes and reduce the import time to about 45 minutes, while requiring substantial RAM.

### Source excerpt

I don't seem to have time or energy for long posts these days, but here's another quick post which might save you some time and frustration. Recently, I've been trying to import OpenStreetMap data into a PostGIS database to use with pgRouting. I wanted to import data for the whole of England - which has [...]

## Blog: GPG Key Rotation for Falco Packages (2026)

DevFeed: [Blog: GPG Key Rotation for Falco Packages (2026)](<https://devfeed.tech/articles/blog-gpg-key-rotation-for-falco-packages-2026-32517.md>)

Original publisher: [Read original article](<https://falco.org/blog/gpg-key-rotation-2026/>)

Published: 2025-12-12T00:00:00Z

Content type: release

Language: en

Sources: [Falco - Falco](<https://devfeed.tech/sources/falco-falco.md>), [Falco - The Falco blog](<https://devfeed.tech/sources/falco-the-falco-blog.md>)

Topics: [Falco](<https://devfeed.tech/topics/falco.md>), [Security](<https://devfeed.tech/topics/security.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [releases](<https://devfeed.tech/topics/releases.md>), [apt](<https://devfeed.tech/topics/apt.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [apt](<https://devfeed.tech/tags/apt.md>), [falco](<https://devfeed.tech/tags/falco.md>), [import](<https://devfeed.tech/tags/import.md>), [installation](<https://devfeed.tech/tags/installation.md>), [releases](<https://devfeed.tech/tags/releases.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [rsa](<https://devfeed.tech/tags/rsa.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Falco maintainers are rotating the 4096-bit RSA GPG key used to sign official RPM and DEB packages because the existing key expires on January 17, 2026. The transition uses a soft launch followed by a hard cut-over, and existing users should update their keyrings before January 12, 2026.

### Source excerpt

The GPG key used to sign official Falco packages (RPM and DEB) is set to expire on January 17, 2026. To ensure the security and continuity of our software distribution, the Falco maintainers will be rotating to a new 4096-bit RSA key. We have designed a two-phase "Soft Launch" strategy to make this transition as smooth as possible, providing a one-month transition window before the old key is retired. The Rotation Plan To avoid immediate disruption, we are rolling out the new key in two distinct phases. You can follow the detailed progress in our tracking issue #3750. Phase 1: Soft Launch (Dec 12, 2025) What happens: The new GPG key has been published and added to our repository configuration. Dev Builds: Will begin using the New Key immediately. Stable Builds: No stable releases are planned for this phase. If any hotfixes are released, they will be signed with New Key as well. Key Bundle: The official key URL has been updated to serve a bundle containing both the Old (valid) and New (valid) keys. Phase 2: Hard Cut-Over (Jan 12-17, 2026) What happens: This is the maintenance window where we fully switch to the new key. Mass Resign: All existing stable packages on download.falco.org will be resigned with the New Key. Revocation: The Old Key will be officially revoked and removed from the active bundle. Impact: If you have not updated your keyring by this date, your package manager (apt or yum) will reject updates with a signature verification error. Action Items for Users We strongly recommend all users update their GPG keyring before January 12, 2026 to avoid interruption. New Users If you are installing Falco for the first time following our Install on a host (DEB,RPM) instructions, no action is required. The installation process will guide you to fetch the new key bundle, ensuring you are ready for both phases. Existing Users If you have an existing Falco installation, you must manually import the new key. We have updated the key file at our standard URL to includ

## Keycloak 26.4.5 released

DevFeed: [Keycloak 26.4.5 released](<https://devfeed.tech/articles/keycloak-26-4-5-released-31736.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/11/keycloak-2645-released>)

Author: Keycloak Team

Published: 2025-11-12T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [changelog](<https://devfeed.tech/topics/changelog.md>)

Tags: [authorization](<https://devfeed.tech/tags/authorization.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [ci](<https://devfeed.tech/tags/ci.md>), [docs](<https://devfeed.tech/tags/docs.md>), [download](<https://devfeed.tech/tags/download.md>), [email](<https://devfeed.tech/tags/email.md>), [idm](<https://devfeed.tech/tags/idm.md>), [import](<https://devfeed.tech/tags/import.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Keycloak 26.4.5 was released on November 12, 2025. The release page links to downloads and a migration guide and lists resolved issues involving tests, documentation, JPA, email persistence, database migration, authorization policies, attribute ordering, Quarkus builds, URL normalization, and the Admin Console.

### Source excerpt

To download the release go to Keycloak downloads. Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues Bugs #42601 Flaky test: org.keycloak.testsuite.broker.KcOidcBrokerTest#testPostBrokerLoginFlowWithOTP ci #43212 Document missing artifact dependency for UserStoragePrivateUtil docs #43564 Invalid liquibase check sum for jpa-changelog-2.5.0.xml core #43718 Email Not Persisted During Registration When "Email as Username" is Enabled and User Edit Permission is Disabled user-profile #43793 import does not seem to run db migration import-export #43883 Creating group policy on a client uses "manage-clients" role if FGAP V1 is disabled authorization-services #44010 Ordering attributes will unset the unmanaged attribute policy user-profile #44031 Can't build keycloak 26.4.4 with quarkus.launch.rebuild=true dist/quarkus #44056 Allow only normalized URLs in requests caused a regression in view authz permission details in Admin Consol admin/ui #44117 DockerClientTest failure testsuite

## Apple Photos App Corrupts Images

DevFeed: [Apple Photos App Corrupts Images](<https://devfeed.tech/articles/apple-photos-app-corrupts-images-39002.md>)

Original publisher: [Read original article](<https://tenderlovemaking.com/2025/09/17/apple-photos-app-corrupts-images/>)

Published: 2025-09-16T23:59:23Z

Content type: article

Language: en

Sources: [Aaron Patterson](<https://devfeed.tech/sources/aaron-patterson.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [file](<https://devfeed.tech/topics/file.md>), [import](<https://devfeed.tech/topics/import.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Image](<https://devfeed.tech/topics/image.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [camera](<https://devfeed.tech/tags/camera.md>), [debug](<https://devfeed.tech/tags/debug.md>), [file](<https://devfeed.tech/tags/file.md>), [files](<https://devfeed.tech/tags/files.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [images](<https://devfeed.tech/tags/images.md>), [import](<https://devfeed.tech/tags/import.md>), [photo](<https://devfeed.tech/tags/photo.md>), [photos](<https://devfeed.tech/tags/photos.md>), [trust](<https://devfeed.tech/tags/trust.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

The article describes intermittent image corruption in Apple Photos when importing photos from an OM System OM-1 camera. The author reports corrupted JPEG and RAW files, estimates losing about 30% of the images from one event, investigates possible hardware causes, and changes to a different import workflow after losing trust in Photos.

### Source excerpt

The Apple Photos app sometimes corrupts images when importing from my camera. I just wanted to make a blog post about it in case anyone else runs into the problem. I've seen other references to this online, but most of the people gave up trying to fix it, and none of them went as far as I did to debug the issue. I'll try to describe the problem, and the things I've tried to do to fix it. But also note that I've (sort of) given up on the Photos app too. Since I can't trust it to import photos from my camera, I switched to a different workflow. Here is a screenshot of a corrupted image in the Photos app: How I used to import images I've got an OM System OM-1 camera. I used to shoot in RAW + jpg, then when I would import to Photos app, I would check the "delete photos after import" checkbox in order to empty the SD card. Turns out "delete after import" was a huge mistake. Getting corrupted images I'm pretty sure I'd been getting corrupted images for a while, but it would only be 1 or 2 images out of thousands, so I thought nothing of it (it was probably my fault anyway, right?) But the problem really got me upset when last year I went to a family member's wedding and took tons of photos. Apple Photos combines RAW + jpg photos so you don't have a bunch of duplicates, and when you view the images in the photos app, it just shows you the jpg version by default. After I imported all of the wedding photos I noticed some of them were corrupted. Upon closer inspection, I found that it sometimes had corrupted the jpg, sometimes corrupted the RAW file, and sometimes both. Since I had been checking the "delete after import" box, I didn't know if the images on the SD card were corrupted before importing or not. After all, the files had been deleted so there was no way to check. I estimate I completely lost about 30% of the images I took that day. Losing so many photos really rattled me, but I wanted to figure out the problem so I didn't lose images in the future. Narrowing down t

## Structured Output with LangChain and Llamafile

DevFeed: [Structured Output with LangChain and Llamafile](<https://devfeed.tech/articles/structured-output-with-langchain-and-llamafile-25139.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/structured-output-with-langchain-and-llamafile/>)

Author: brakmic

Published: 2025-06-22T16:50:12Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [LangChain](<https://devfeed.tech/topics/langchain.md>), [llamafile](<https://devfeed.tech/topics/llamafile.md>), [JSON](<https://devfeed.tech/topics/json.md>), [llama.cpp](<https://devfeed.tech/topics/llama-cpp.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cpp](<https://devfeed.tech/tags/cpp.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [json](<https://devfeed.tech/tags/json.md>), [langchain](<https://devfeed.tech/tags/langchain.md>), [llama-cpp](<https://devfeed.tech/tags/llama-cpp.md>), [llamafile](<https://devfeed.tech/tags/llamafile.md>), [llm](<https://devfeed.tech/tags/llm.md>), [local](<https://devfeed.tech/tags/local.md>), [local-llm](<https://devfeed.tech/tags/local-llm.md>), [models](<https://devfeed.tech/tags/models.md>), [properties](<https://devfeed.tech/tags/properties.md>), [python](<https://devfeed.tech/tags/python.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>)

### AI overview

A tutorial on using LangChain with Llamafile to produce structured JSON output from a local large language model. It uses JsonOutputParser, PromptTemplate, and a Pydantic model because Llamafile does not provide a with_structured_output method.

### Source excerpt

Learn how to extend Llamafile with LangChain's JsonParser to produce clean, structured JSON output

## What Does "use client" Do?

DevFeed: [What Does "use client" Do?](<https://devfeed.tech/articles/what-does-use-client-do-36205.md>)

Original publisher: [Read original article](<https://overreacted.io/what-does-use-client-do/>)

Published: 2025-04-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [client](<https://devfeed.tech/topics/client.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Code](<https://devfeed.tech/topics/code.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [client](<https://devfeed.tech/tags/client.md>), [code](<https://devfeed.tech/tags/code.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [import](<https://devfeed.tech/tags/import.md>), [react](<https://devfeed.tech/tags/react.md>), [server](<https://devfeed.tech/tags/server.md>)

### AI overview

This tutorial explains what the React "use client" directive does. It presents client/server directives as a way to express boundaries within the module system and discusses how code can span separate machines despite network and serialization constraints.

### Source excerpt

Two worlds, two doors.

## GIMP 3.0 Released With Updated UI, Wayland Support, Improved File Compatibility, and Plugin API Changes

DevFeed: [GIMP 3.0 Released With Updated UI, Wayland Support, Improved File Compatibility, and Plugin API Changes](<https://devfeed.tech/articles/download-of-the-day-gimp-3-0-is-finally-here-41958.md>)

Original publisher: [Read original article](<https://www.cyberciti.biz/linux-news/download-of-the-day-gimp-3-0-is-finally-here/>)

Author: Vivek Gite

Published: 2025-03-18T03:45:26Z

Content type: release

Language: en

Sources: [nixCraft: Linux Tips, Hacks, Tutorials, And Ideas In Blog Format (RSS/FEED)](<https://devfeed.tech/sources/nixcraft-linux-tips-hacks-tutorials-and-ideas-in-blog-format-rss-feed.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Wayland](<https://devfeed.tech/topics/wayland.md>), [API](<https://devfeed.tech/topics/api.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [file](<https://devfeed.tech/topics/file.md>), [format](<https://devfeed.tech/topics/format.md>), [export](<https://devfeed.tech/topics/export.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [centos](<https://devfeed.tech/tags/centos.md>), [compression](<https://devfeed.tech/tags/compression.md>), [css](<https://devfeed.tech/tags/css.md>), [debian-linux](<https://devfeed.tech/tags/debian-linux.md>), [downloads](<https://devfeed.tech/tags/downloads.md>), [export](<https://devfeed.tech/tags/export.md>), [file](<https://devfeed.tech/tags/file.md>), [format](<https://devfeed.tech/tags/format.md>), [freebsd](<https://devfeed.tech/tags/freebsd.md>), [gimp](<https://devfeed.tech/tags/gimp.md>), [import](<https://devfeed.tech/tags/import.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-news](<https://devfeed.tech/tags/linux-news.md>), [macos](<https://devfeed.tech/tags/macos.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [release](<https://devfeed.tech/tags/release.md>), [sysadmin](<https://devfeed.tech/tags/sysadmin.md>), [unix](<https://devfeed.tech/tags/unix.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

GIMP 3.0 was released on March 16, 2025. The release adds a GTK3 interface, HiDPI and tablet improvements, Wayland support, CSS-based themes, updated icons, broader file-format compatibility, painting and text improvements, and updates to the core plugin API.

### Source excerpt

Wow! After years of hard work and countless commits, we have finally reached a huge milestone: GIMP 3.0 is officially released! I am excited as I write this and can't wait to share some incredible new features and improvements in this release. GIMP 2.10 was released in 2018, and the first development version of GIMP 3.0 came out in 2020. GIMP 3.0 released on 16/March/2025. Let us explore how to download and install GIMP 3.0, as well as the new features in this version. Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit The post Download of the day: GIMP 3.0 is FINALLY Here! appeared first on nixCraft.

## Effortlessly Import Your Kubernetes Cluster into Rancher

DevFeed: [Effortlessly Import Your Kubernetes Cluster into Rancher](<https://devfeed.tech/articles/effortlessly-import-your-kubernetes-cluster-into-rancher-18.md>)

Original publisher: [Read original article](<https://blog.abhimanyu-saharan.com/posts/effortlessly-import-your-kubernetes-cluster-into-rancher-a-step-by-step-guide>)

Author: Abhimanyu Saharan

Published: 2025-03-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Abhimanyu Saharan](<https://devfeed.tech/sources/abhimanyu-s-blog.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [rancher](<https://devfeed.tech/topics/rancher.md>)

Tags: [guide](<https://devfeed.tech/tags/guide.md>), [import](<https://devfeed.tech/tags/import.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [management](<https://devfeed.tech/tags/management.md>), [rancher](<https://devfeed.tech/tags/rancher.md>), [zero-to-hero-rancher](<https://devfeed.tech/tags/zero-to-hero-rancher.md>)

### AI overview

A step-by-step guide to importing a Kubernetes cluster into Rancher for management.

### Source excerpt

Learn to import your Kubernetes cluster into Rancher for seamless management with this detailed, step-by-step guide.

## Import Postgres tables into Tinybird with PostgreSQL Table Function

DevFeed: [Import Postgres tables into Tinybird with PostgreSQL Table Function](<https://devfeed.tech/articles/import-postgres-tables-into-tinybird-with-postgresql-table-function-18600.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/postgresql-table-function-announcement>)

Author: Cameron Archer

Published: 2024-07-29T00:00:00Z

Content type: release

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [data](<https://devfeed.tech/topics/data.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [etl](<https://devfeed.tech/tags/etl.md>), [import](<https://devfeed.tech/tags/import.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [product-updates](<https://devfeed.tech/tags/product-updates.md>)

### AI overview

Tinybird's PostgreSQL table function connects Postgres data directly to Tinybird and enables querying across systems without complex ETL pipelines.

### Source excerpt

The PostgreSQL table function connects your Postgres data to Tinybird directly. Query across systems without complex ETL pipelines.

## Announcing Supabase on JSR

DevFeed: [Announcing Supabase on JSR](<https://devfeed.tech/articles/announcing-supabase-on-jsr-642.md>)

Original publisher: [Read original article](<https://supabase.com/blog/supabase-js-on-jsr>)

Author: Bobbie Soedirgo; Thor Schaeff

Published: 2024-07-16T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Supabase](<https://devfeed.tech/topics/supabase.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Deno](<https://devfeed.tech/topics/deno.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [client-library](<https://devfeed.tech/tags/client-library.md>), [database](<https://devfeed.tech/tags/database.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [import](<https://devfeed.tech/tags/import.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [other](<https://devfeed.tech/tags/other.md>), [provenance](<https://devfeed.tech/tags/provenance.md>), [published](<https://devfeed.tech/tags/published.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [registry](<https://devfeed.tech/tags/registry.md>), [source](<https://devfeed.tech/tags/source.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

Supabase announces that its JavaScript client library is available on JSR, an open source JavaScript registry. The article describes JSR support for TypeScript source publishing, generated documentation and type definitions, provenance attestation, and npm-like package managers, then outlines installation and use of the client across JavaScript environments.

### Source excerpt

Supabase is now available on the open source JavaScript Registry (JSR).

## Fastest Way to Read Excel in Python

DevFeed: [Fastest Way to Read Excel in Python](<https://devfeed.tech/articles/fastest-way-to-read-excel-in-python-33903.md>)

Original publisher: [Read original article](<https://hakibenita.com/fast-excel-python>)

Author: Haki Benita

Published: 2024-01-02T22:00:00Z

Content type: article

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [data](<https://devfeed.tech/topics/data.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [parquet](<https://devfeed.tech/topics/parquet.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [articles](<https://devfeed.tech/tags/articles.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [compare](<https://devfeed.tech/tags/compare.md>), [csv](<https://devfeed.tech/tags/csv.md>), [excel](<https://devfeed.tech/tags/excel.md>), [generator](<https://devfeed.tech/tags/generator.md>), [import](<https://devfeed.tech/tags/import.md>), [memory](<https://devfeed.tech/tags/memory.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [performance](<https://devfeed.tech/tags/performance.md>), [python](<https://devfeed.tech/tags/python.md>), [reading](<https://devfeed.tech/tags/reading.md>)

### AI overview

This article compares several ways to read Excel files from Python. It benchmarks importing data from a 25 MB XLSX file containing 500,000 rows and considers timing, memory use, generators, and preservation of Excel data types.

### Source excerpt

I'm fairly sure that Excel is the most common way to store data, manipulate data, and yes(!), even pass data around. This is why it's not uncommon to find yourself reading Excel in Python. In this article I compare several ways to read Excel from Python.

## garn v0.0.19: Bringing existing flake files into your garn project

DevFeed: [garn v0.0.19: Bringing existing flake files into your garn project](<https://devfeed.tech/articles/garn-v0-0-19-bringing-existing-flake-files-into-your-garn-project-32405.md>)

Original publisher: [Read original article](<https://garnix.io/blog/flake-imports>)

Published: 2023-12-07T00:00:00Z

Content type: release

Language: en

Sources: [Garnix Blog](<https://devfeed.tech/sources/garnix-blog.md>)

Topics: [import](<https://devfeed.tech/topics/import.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [version](<https://devfeed.tech/topics/version.md>), [Internet](<https://devfeed.tech/topics/internet.md>)

Tags: [existing](<https://devfeed.tech/tags/existing.md>), [files](<https://devfeed.tech/tags/files.md>), [import](<https://devfeed.tech/tags/import.md>), [project](<https://devfeed.tech/tags/project.md>), [release](<https://devfeed.tech/tags/release.md>), [repository](<https://devfeed.tech/tags/repository.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

garn v0.0.19 adds support for importing Nix flakes from the internet and from an existing repository into a garn project.

### Source excerpt

Release announcement for garn version v0.0.19, which includes the ability to import Nix flakes from the internet and from your repository.

## Supabase Beta September 2023

DevFeed: [Supabase Beta September 2023](<https://devfeed.tech/articles/supabase-beta-september-2023-319.md>)

Original publisher: [Read original article](<https://supabase.com/blog/beta-update-september-2023>)

Author: Ant Wilson

Published: 2023-10-04T07:00:00Z

Content type: release

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Supabase](<https://devfeed.tech/topics/supabase.md>), [releases](<https://devfeed.tech/topics/releases.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Network](<https://devfeed.tech/topics/network.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [import](<https://devfeed.tech/tags/import.md>), [ipv4](<https://devfeed.tech/tags/ipv4.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [json](<https://devfeed.tech/tags/json.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [releases](<https://devfeed.tech/tags/releases.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

Supabase's September 2023 beta update highlights REST-based Realtime broadcasts, broader Supavisor connection pooling, an upcoming IPv6 transition for database connection strings, a new Airtable Foreign Data Wrapper, Supabase Studio improvements, and HNSW support in Vecs with pgvector.

### Source excerpt

September was packed with so many new features and releases that it might have seemed like another Launch Week, but it wasn't!

## 10x faster python test iteration via fork(2)

DevFeed: [10x faster python test iteration via fork(2)](<https://devfeed.tech/articles/10x-faster-python-test-iteration-via-fork-2-20122.md>)

Original publisher: [Read original article](<https://benchling.engineering/10x-faster-python-test-iteration-via-fork-2-3aae52d2f6?source=rss----3d4aa8fb07ea---4>)

Author: raylu

Published: 2023-07-20T16:01:45Z

Content type: tutorial

Language: en

Sources: [Benchling](<https://devfeed.tech/sources/benchling.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [modules](<https://devfeed.tech/topics/modules.md>), [import](<https://devfeed.tech/topics/import.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [benchling](<https://devfeed.tech/tags/benchling.md>), [code](<https://devfeed.tech/tags/code.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developer-productivity](<https://devfeed.tech/tags/developer-productivity.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [fork](<https://devfeed.tech/tags/fork.md>), [import](<https://devfeed.tech/tags/import.md>), [modules](<https://devfeed.tech/tags/modules.md>), [python](<https://devfeed.tech/tags/python.md>), [sqlalchemy](<https://devfeed.tech/tags/sqlalchemy.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This Benchling Engineering article explains how the Build team reduced Python test iteration time in a dependency-heavy codebase. It discusses the limitations of importlib.reload() and describes a fork-based approach that made the second test run start 10 times faster, reducing waiting by 90%.

### Source excerpt

It's ideal to get feedback on your code faster -- to make a code change and see the result instantly. But, as projects get larger, reload times get longer. Each incremental dependency or bootstrap code block that adds 200ms feels worth it, but 50 of them later and it takes 10 seconds to see the result of a code change. On the Build team at Benchling, that's where we found ourselves one day. We used 146 packages which pull in 128 transitive dependencies for a total of 274 packages. We also spent a lot of time waiting for SQLAlchemy models to initialize. The result is our test harness took 10 seconds to set up. After making a code change, you'd start the test runner, wait a few seconds, alt+tab to your browser, get distracted for a few minutes, and then find out you had a typo in your code. This is a common challenge for a growing codebase, but it's something we knew we needed to fix. Here's the process we arrived at which allowed the second run of tests to start 10x faster -- 90% less waiting. While it'll work a little differently for your codebase depending on the language, dependencies, etc. you're using, hopefully this can inspire you on your journey to faster feedback and testing. importlib.reload() Since the problem is that we spend so long setting up a bunch of modules just right and then want to see the change in a single file we're editing, the most obvious solution is to use importlib.reload from the standard library. import importlib import sys import test_harness_stuff # takes 10 seconds import tests def rerun_tests(changed_path): for mod in sys.modules.values(): if mod.__file__ == changed_path: importlib.reload(mod) tests.run_tests() break if __name__ == '__main__': setup_file_watcher(rerun_tests) tests.run_tests() This (with some special handling for built-in modules, relative path resolution, and batching to handle editors that perform multiple filesystem operations per save) works alright when the file being changed is a test file (or any other leaf node

## Using Python AST to resolve dependencies

DevFeed: [Using Python AST to resolve dependencies](<https://devfeed.tech/articles/using-python-ast-to-resolve-dependencies-39624.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2023-06-30_Using-Python-AST-to-resolve-dependencies-c849bd184020>)

Published: 2023-06-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [syntax](<https://devfeed.tech/topics/syntax.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [ast](<https://devfeed.tech/tags/ast.md>), [code](<https://devfeed.tech/tags/code.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [modules](<https://devfeed.tech/tags/modules.md>), [object](<https://devfeed.tech/tags/object.md>), [python](<https://devfeed.tech/tags/python.md>), [python-dependencies](<https://devfeed.tech/tags/python-dependencies.md>), [repository](<https://devfeed.tech/tags/repository.md>), [resolver](<https://devfeed.tech/tags/resolver.md>), [startup](<https://devfeed.tech/tags/startup.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [trees](<https://devfeed.tech/tags/trees.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

This tutorial explains how to use Python's Abstract Syntax Trees to resolve dependencies among objects imported across modules in a complex repository. It proposes recursively analyzing imports and copying required object code and dependencies into a destination folder.

### Source excerpt

This article covers how to resolve python dependencies using Python's Abstract Syntax Trees (AST). There are different and maybe better ways to understand the scope of your python dependencies...

## Music Stats with DuckDB

DevFeed: [Music Stats with DuckDB](<https://devfeed.tech/articles/music-stats-with-duckdb-29367.md>)

Original publisher: [Read original article](<https://arturdryomov.dev/posts/music-stats-with-duckdb/>)

Author: Artur Dryomov

Published: 2023-06-05T00:00:00Z

Content type: article

Language: en

Sources: [Artur Dryomov](<https://devfeed.tech/sources/artur-dryomov.md>)

Topics: [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [data](<https://devfeed.tech/topics/data.md>), [import](<https://devfeed.tech/topics/import.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [csv](<https://devfeed.tech/tags/csv.md>), [data](<https://devfeed.tech/tags/data.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [import](<https://devfeed.tech/tags/import.md>), [json](<https://devfeed.tech/tags/json.md>), [music](<https://devfeed.tech/tags/music.md>)

### AI overview

The article describes using DuckDB to combine and analyze music scrobbles from sources including Last.fm and Spotify, working with JSON and CSV data in different formats.

### Source excerpt

Music! Everyone likes music. Well, I certainly hope so. Stats! Well, not everyone likes stats but I certainly do. In this article I'll describe an approach to work with music scrobbles from different sources and in different formats using DuckDB. DuckDB is a perfect match for such ad-hoc scenarios -- it has a minimal footprint, great performance and useful features. Scrobbles I've been using multiple music sources over the past decade. Fortunately, I had a Last.fm account from the beginning. It allowed me to track almost everything I've listened -- resulting in almost 110+ thousands of scrobbles. Unfortunately, I haven't used it all the time.

## Why You Should Execute jOOQ Queries With jOOQ

DevFeed: [Why You Should Execute jOOQ Queries With jOOQ](<https://devfeed.tech/articles/why-you-should-execute-jooq-queries-with-jooq-28974.md>)

Original publisher: [Read original article](<https://blog.jooq.org/why-you-should-execute-jooq-queries-with-jooq/>)

Author: lukaseder

Published: 2023-01-18T11:46:25Z

Content type: opinion

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Java](<https://devfeed.tech/topics/java.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [code-generation](<https://devfeed.tech/tags/code-generation.md>), [crud](<https://devfeed.tech/tags/crud.md>), [csv](<https://devfeed.tech/tags/csv.md>), [execution](<https://devfeed.tech/tags/execution.md>), [export](<https://devfeed.tech/tags/export.md>), [identity](<https://devfeed.tech/tags/identity.md>), [import](<https://devfeed.tech/tags/import.md>), [java](<https://devfeed.tech/tags/java.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [json](<https://devfeed.tech/tags/json.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [multiset](<https://devfeed.tech/tags/multiset.md>), [nested-collections](<https://devfeed.tech/tags/nested-collections.md>), [nested-records](<https://devfeed.tech/tags/nested-records.md>), [orm](<https://devfeed.tech/tags/orm.md>), [r2dbc](<https://devfeed.tech/tags/r2dbc.md>), [sql](<https://devfeed.tech/tags/sql.md>), [stored-procedures](<https://devfeed.tech/tags/stored-procedures.md>), [type-safety](<https://devfeed.tech/tags/type-safety.md>), [udt](<https://devfeed.tech/tags/udt.md>), [updatablerecord](<https://devfeed.tech/tags/updatablerecord.md>), [user-defined-types](<https://devfeed.tech/tags/user-defined-types.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

The article argues that queries built with jOOQ should generally also be executed with jOOQ. It explains that jOOQ preserves type safety and structured result mapping during execution, whereas extracting SQL and bind values for JDBC-level execution loses compiler knowledge of the result set. It acknowledges limited use cases for executing jOOQ-generated SQL elsewhere, such as a small number of dynamic queries in an otherwise JPA-based application.

### Source excerpt

Previously on this blog, I've written a post explaining why you should use jOOQ's code generator, despite the possibility of using jOOQ without it. In a similar fashion, as I've answered numerous jOOQ questions on Stack Overflow, where someone used jOOQ to build a query, but then executed it elsewhere, including on: jOOQ itself isn't ... Continue reading Why You Should Execute jOOQ Queries With jOOQ ->

[Next page](<https://devfeed.tech/tags/import.md?cursor=WyIyMDIzLTAxLTE4VDExOjQ2OjI1KzAwOjAwIiwgImEwYjk0YmE2LTk5NTYtNDhlOS1iMGNjLWFiZDY5NmFiYTNjOSJd>)