setup-dvc
Sentry
setup-dvc | Sentry | |
---|---|---|
1 | 266 | |
29 | 36,957 | |
- | 0.9% | |
3.2 | 10.0 | |
about 1 month ago | 3 days ago | |
JavaScript | Python | |
- | GNU General Public License v3.0 or later |
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.
setup-dvc
-
Pre-commit: framework for managing/maintaining multi-language pre-commit hooks
Here's our setup, which is the result of several iterations and ergonomics refinements. Note: our stack is 90% python, with TS for frontend. Also 95% devs use mac (there's one data scientist on windows, he uses WSL).
We install enough utilities with `brew` to get pyenv working, use that to build all python versions. Then iirc `brew install pipx`, maybe it's `pip3 install --user pipx`. Anyway, that's the only python library binary installed outside a venv.
Pipx installs isort, black, dvc, and pre-commit.
Every repo has a Makefile. This drives all the common operations. Pyproject.toml (/eslint.json?) set the config for isort and black (or eslint). `make format` runs isort and black on python, eslint on js. `make lint` just verifies.
Pre-commit only runs the lint, it doesn't format. It also runs some scripts to ensure you aren't accidentally committing large files. Pre-commit also runs several DVC actions (the default dvc hooks) on commit, push, and checkout. These run in a venv managed by pre-commit. We just pin the version.
Github actions has a dedicated lint.yaml which runs a python linter action. We use the black version here to define which black pipx installs. We use `act` if we wanna see how an action runs without sending a commit just to trigger jobs.
As an aside, I'm still fiddling with the dvc `pre-commit` post-checkout hooks. They don't always pull the files when they ought to.
Most of the actual unit/integration tests run in containers, but they can run in a venv with the same logic, thanks to makefile. We use a dvc action to sync files in CI.
So yeah there's technically 2 copies of black and dvc, but we just use pinning. In practice, we've only had one issue with discrepancies in behavior locally vs CI, which was local black not catching a rule to avoid ''' for docstrings; using """ fixed it. On the whole, pre-commit saves against a lot of annoying goofs, but CI system is law, so we largely harmonize against that.
IMHO, this is the least egregious "double accounting" we have in local vs staging ci vs production ci (I lost that battle, manager would rather keep staing.yaml and production.yaml, rather than parameterize. Shrug.gif).
Technologies referenced:
https://dvc.org/
https://github.com/iterative/setup-dvc
https://github.com/marketplace/actions/python-linter
https://github.com/nektos/act
Sentry
-
Building a Production-Ready Web App with T3 Stack
First, sign up for a free account at https://sentry.io. Create a new project and make note of your DSN (Data Source Name).
-
How to Handle N+1 Queries for Optimal Database Performance in Django?
Using APM tools like NewRelic, Sentry, Datadog, etc to monitor the performance of your application and while you're on it, they can help you identify N+1 queries.
-
Next.js Error Monitoring with Sentry: Enhancing Your Application’s Reliability
However, ensuring the reliability and performance of your Next.js app is equally crucial. That’s where Sentry comes into play. Combined with Sentry, an industry-leading error monitoring platform, Next.js empowers developers to proactively identify and resolve issues that may arise in their applications. In this article, we’ll explore how to integrate Sentry into your Next.js project for effective error monitoring and performance optimization.
-
4 facets of API monitoring you should implement
Sentry: Error monitoring for applications, including APIs. Also offers application performance monitoring (APM).
-
It's 29 Delphi, I mean
Indeed, webapps are not immune to distribution problems. Wayward and invasive browser extensions are a clear threat, as are 3rd-party dependencies (and their dependencies) loaded at runtime. Which is why companies like https://sentry.io exist. I think the difference is that webapps are "distributable by default" and it takes real work to break this. Versus having local desktop apps which require work to distribute. A potent example of the power of defaults.
-
We removed advertising cookies, here's what happened
Sentry produces nothing of value? You don't value an open source error tracking and performance monitoring platform? https://github.com/getsentry/sentry
-
The Life and Death of Open Source Companies
> You invent something, and then immediately turn it into a cheap commodity by releasing it for free.
Exactly. A 71-line python script https://github.com/getsentry/sentry/commit/3c2e87573d3bd16f6... was groundbreaking when it came out and the fact that it springboarded into a startup is commendable.
-
banner ads in spotify
sentry.io: 5
-
Open Source alternatives to tools you Pay for
Sentry - Open Source Alternative For Error Tracking
-
🤩 20 Awesome Tools For Your Web Dev Toolkit 🛠️
11. Sentry