Code Monkey home page Code Monkey logo

Comments (1)

jcrist avatar jcrist commented on May 22, 2024

I don't intend to add direct attrs support to msgspec, but attrs types could be handled by a custom enc_hook/dec_hook (see https://jcristharif.com/msgspec/extending.html).

We could add native support for attrs objects, but I'm not sure it'd be worth the (large) effort. I'd expect encode speed to be slower than a struct but faster than a dict (for JSON only, for msgpack I'd expect encode performance to be the same as a dict). For decoding into an attrs type, I'd expect performance to be slower than decoding into a dict, but faster than supporting attrs via a dec_hook.

Since Struct types are always fast, and are similar to attrs/dataclasses, I'm reluctant to spend a ton of effort supporting alternative class types when a faster option already exists. I'd recommend people make use of enc_hook/dec_hook for attrs/dataclasses support until they can transition to using struct types instead.

from msgspec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.