python-architecture-linter VS architecture-decision

Compare python-architecture-linter vs architecture-decision and see what are their differences.

python-architecture-linter

Ensure that your projects are built the right way. (by Incognito)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
python-architecture-linter architecture-decision
2 5
9 -
- -
0.0 -
about 1 year ago -
Python
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

python-architecture-linter

Posts with mentions or reviews of python-architecture-linter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-15.
  • How boring should your team be
    11 projects | news.ycombinator.com | 15 Oct 2022
    I think I grossly oversold this thing because there's a lot of comments here asking for something.

    I don't really have this concept written down anywhere like a number of other ideas I have. But, I guess the short version is, if I had to make an elevator pitch or something: No framework is a configuration (maybe "distro" in the linux sense) of concepts (maybe "packages" in the software sense). A concept is either something you might use a framework or library for (and usually it exists somewhere), or it is something you would want a linter to find, and it might even be something that you want to ensure was done correctly at code review. I think this last one is the most accurate idea of what a "concept" is.

    Over time I have accumulated a small informal set of "packages" that can be implemented without a helper library in nearly the same amount of code as if you were to use that library anyway. The important part is that the running software doesn't depend on the third party code, but actually the developers depend on a rule book and anything that violates the rules should be treated the same as calling an third party package's API method that doesn't exist. In other words: the dependency remains entirely in concept-space, not disk space.

    This link below is not "no framework" but it is something I wrote where you can see the result of "no framework thinking". The concepts are stole from people who are probably smarter than me, have decades of experience and written books on these topics. The only difference is instead of turning it into a library to depend on, it's turned into rules for humans (which I guess is also what the book authors originally did anyway). I combined them and made them into a "distro" and I called it "modular provider architecture" (not very engaging or entertaining, but it does what's on the label).

    https://github.com/Incognito/python-architecture-linter/tree...

    That text document is meant to be an example of how developers should write an application. By the way, it has a demo application here which does basically nothing:

    https://github.com/Incognito/python-architecture-linter-demo...

    It might be hard to see here because it's pretty silly example, but I managed a small/growing team of 3-5 developers who create over 15 different services following this pattern. They did end up using libraries to do things like send data to/from Kafka or a DB, but the Modular Provider Architecture's rules were always there.

    Oh, by the way, that repo I linked to, https://github.com/Incognito/python-architecture-linter/ ... this is a proof of concept for a linter that could implement the "no framework" concept. It is a dev dependency of your project, meaning you have no production framework as a dependency. It is a tool that lets you configure "rules" for your project in the style of any linter you already know of. It's like a linter from hyperspace, you can "lint" rules like.... if a file is 3 levels deep, and depended on by methods anywhere in the project with the word "bob" in the method name name, but those methods don't have if-statements, and also the Afferent coupling of the module itself is less than 0.5 .... fail CI with an explanation why. It also has a feature for you to commit an exemption list.

    I used this in my teams once I started managing multiple large teams, and I could do things like generate entire reports across all projects of these really complex metrics that most linters and tools aren't really set up for.

    That code is in these files, sorry for the total mess, I was just hacking around and didn't really think of a nice way to structure the definition "API. My main goal was proving the concept.

  • Navigate ASTs with x-path-like queries
    2 projects | news.ycombinator.com | 30 Jun 2022
    >I've found myself manually writing code for finding things in python's AST but a tool like this would be much more succinct

    Wow, I also am writing a tool for finding things in the Python AST: https://github.com/Incognito/python-architecture-linter

    It does other things too, but one of the key features is reading the AST. It's a bit of a prototype but if you want to jam together on a project I'd be open to it.

architecture-decision

Posts with mentions or reviews of architecture-decision. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-18.
  • Show HN: Architecture Decision Record – Spanish Tranlsations
    3 projects | news.ycombinator.com | 18 Oct 2023
    Link is https://github.com/joelparkerhenderson/architecture-decision...
  • Architecture diagrams enable better conversations
    11 projects | news.ycombinator.com | 22 Aug 2023
    Hi, article author here, we supplement our architecture diagrams with Architectural Decision Records (ADRs) https://github.com/joelparkerhenderson/architecture-decision... in the ADR we capture:
  • Polar v1.0: Let’s Fix Open Source Funding
    5 projects | news.ycombinator.com | 14 Jul 2023
    If anyone wants to see Polar in action on a GitHub issue, I'm experimenting with Polar on my Architecture Decision Record repo:

    https://github.com/joelparkerhenderson/architecture-decision...

    (I'm on the fence about the value of Polar for this kind of issue... see what you think)

  • A Simple Framework for Architectural Decisions
    2 projects | news.ycombinator.com | 25 Mar 2023
    Architecture Decision Records are a big help for teamwork. I have a bunch of notes and examples here, including from my time at ThoughtWorks with technology radars.

    https://github.com/joelparkerhenderson/architecture-decision...

  • How boring should your team be
    11 projects | news.ycombinator.com | 15 Oct 2022
    The article mentions Architectural Design Records (ADR) which can be included as a folder in the git repo for the project, as a means of documenting the historical decisions that led to the project's current structure. Some of that seems overly complex or formalized (i.e. reinventing UML and all the problems that came with it), but having that history in some kind of constant format would likely help overcome any novelty issues and help people grasp what's going on. The simplest format discussed seems the best for most cases:

    https://github.com/joelparkerhenderson/architecture-decision...

What are some alternatives?

When comparing python-architecture-linter and architecture-decision you can also consider the following projects:

Flake8 - flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.

structurizr-site-generatr - Static site generator for architecture models created with Structurizr DSL

architecture_decision_record - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation

exploring-the-testing-hyperpyramid - Code repo for the KotlinConf 2023 talk by @daviddenton and @s4nchez

arc42.org-site - (jekyll-based) website for arc42.org - the template for communicating software architectures.

polar - Polar is the creator platform for developers & the open source ecosystem.

rfcs - Specifications for Interledger and related protocols

Diagon - Interactive ASCII art diagram generators. :star2:

Ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.

c4-notation - Technical resources for using the C4 model for visualizing software architecture.

java - Structurizr for Java