Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A awesome-python
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 13
    • Issues 13
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 317
    • Merge requests 317
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Vinta Chen
  • awesome-python
  • Merge requests
  • !1022

Add trafaret library

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/Deepwalker/trafaret into master Feb 14, 2018
  • Overview 1
  • Commits 1
  • Pipelines 0
  • Changes 1

Created by: Deepwalker

What is this Python project?

Trafaret is a validation + conversion library. The main distinct feature of Trafaret is composability. From base Trafaret transformers and simple functions you can construct transformer of any complexity. And dict validation is not corner stone of this library.

What's the difference between this Python project and similar ones?

There is no actually similar projects or I don't know about. Trafaret is simple and yet powerful, because of monads inside, sorry. It does not count dict as a only thing that is need care about, offer strong API first and some sugar on top of strong foundation.

To combine two trafarets you just do trafaret1 & trafaret2, or even trafaret1 | trafaret2. And any single argument function can be treated as trafaret if it raises trafaret.DataError or return value.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/Deepwalker/trafaret