Skip to content

Commit

Permalink
Refine reasons
Browse files Browse the repository at this point in the history
  • Loading branch information
hynek committed Jan 28, 2015
1 parent fdd41b0 commit c5338ba
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions docs/why.rst
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ Reasons For Forking
- Fixing those aforementioned annoyances would introduce more complexity.
More complexity means more bugs.
- Certain unused features make other common features complicated or impossible.
Prime example is the ability write your own initializers and make the generated one cooperate with it.
The new logic is much simpler allowing for writing optimal initializers.
- I want it to be possible to gradually move from ``characteristic`` to ``attrs``.
A peaceful co-existence is much easier if it's separate packages altogether.
- My libraries have very strict backward-compatibility policies and it would take years to get rid of those annoyances while they shape the implementation of other features.
Expand All @@ -209,5 +211,7 @@ Main Differences

- The attributes are defined *within* the class definition such that code analyzers know about their existence.
This is useful in IDEs like PyCharm or linters like PyLint.
``attrs``'s classes look much more idiomatic than ``characteristic``'s.
- The names are held shorter and easy to both type and read.
- It is generally more opinionated towards typical uses.
This ensures I'll not wake up in a year hating to use it.

0 comments on commit c5338ba

Please sign in to comment.