Kim

Dev tools

serialization library

SHOW HN2017

136points
57comments
#292of 2,242 in 2017
Top 14%of 2017 by points

How HN took it

DebatedReal support and real criticism

7 positive, 10 neutral or asking, 0 mixed, 7 critical, out of 24 comments about the project. Thread score +0.02.

Idea: 4 for, 5 againstPerformance: 1 for, 1 againstDocs: 1 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Benchmarks show it faster than some alternatives

    From 1 comment
    • I added Kim to my ongoing set of python serialization framework benchmarks here is how it ranks. ``` Library Many Objects One Object --------------------- --------------…
      voidfiles on HN
  • Simple things simple, complex things possible design

    From 1 comment
    • One of the things we felt very strongly about when developing Kim was that Simple things should be simple. Complex things should be possible. To that end the Pipeline system…
      mikeywaites on HN

Objections

  • Not suited to pandas or scikit serialization needs

    From 2 comments
    • We are really looking for serialization libraries that will work with pandas and scikit. This stuff is really all over the place - PMML, Arrow, Dill, pickle. Some stuff won't…
      sandGorgon on HN
    • Thanks for expanding on that mhneu. So our primary focus with Kim has certainly been around serializing/marshaling JSON though we've used it for plenty of other uses cases. It's…
      mikeywaites on HN
  • Slower than lighter alternatives; schema validation adds overhead

    From 2 comments
    • Cool project! In the case of serialization libraries,unless you are validating as part of your (de)serialization, I'd recommend avoiding schema-driven serialization libraries.…
      Dowwie on HN
    • I added Kim to my ongoing set of python serialization framework benchmarks here is how it ranks. ``` Library Many Objects One Object --------------------- --------------…
      voidfiles on HN
  • Cycles in object graphs are not handled automatically

    From 3 comments
    • Yes, this is possible as long as the second level nested object has a role to stop infinite recursion from occurring. Cycles are not automatically detected. ``` class…
      jackqu7 on HN
    • Sorry, I must be harsh. No. This fundamentally doesn't offer much advantage over a .toJSON() instance method and a .fromJSON() class method. Don't say "security-focused" if you…
      BuuQu9hu on HN
    • That's not a solution as it will not restore the same object graph, it will just repeat values. One way is to to store a table of objects (as identified by id()) encountered…
      arnarbi on HN
  • Documentation lacks comparison with related projects

    From 1 comment
    • Obviously no OS developer owes anybody an explanation, but man would I appreciate if more projects had a "why you should use this over related projects" (like e.g. pendulum does…
      tinnet on HN

Requests

  • Support for pandas and scikit-learn model serialization

    From 2 comments
    • We are really looking for serialization libraries that will work with pandas and scikit. This stuff is really all over the place - PMML, Arrow, Dill, pickle. Some stuff won't…
      sandGorgon on HN
    • Python's data infrastructure has a huge problem: serialization and thus saving data results. A good serialization library should serialize: ``` - classes/objects (best practice:…
      mhneu on HN
  • Better performance

    From 2 comments
    • Cool! Are there any speed comparisons available between this and marshmallow (or other alternatives)?
      siddhant on HN
    • Cool project! In the case of serialization libraries,unless you are validating as part of your (de)serialization, I'd recommend avoiding schema-driven serialization libraries.…
      Dowwie on HN
  • Comparison with alternatives in docs

    From 2 comments
    • Obviously no OS developer owes anybody an explanation, but man would I appreciate if more projects had a "why you should use this over related projects" (like e.g. pendulum does…
      tinnet on HN
    • It does look like marshmalllow[1]. How does relate Kim with it? [1]: https://github.com/marshmallow-code/marshmallow/
      sakawa on HN
  • Close resolved GitHub issues

    From 1 comment
    • Nice, but I recommend closing issues https://github.com/mikeywaites/kim/issues which have fixes (some of them show 'merge'). It's one thing I as a user look at choosing whether…
      yeukhon on HN

Questions

  • How does it relate to marshmallow

    From 1 comment
    • It does look like marshmalllow[1]. How does relate Kim with it? [1]: https://github.com/marshmallow-code/marshmallow/
      sakawa on HN
  • Can it serialize cyclic structures

    From 2 comments
    • Can it serialize cycles?
      amelius on HN
    • Roughly speaking, by cycles I mean a structure that refers to itself somehow. For example: ``` A = {} B = {} A["ref"] = B B["ref"] = A ``` So would it be possible to serialize A…
      amelius on HN
  • How does it handle Unicode

    From 1 comment
    • So this takes JSON and maps it to namedtuples? Silly question, what happens with Unicode?
      ziikutv on HN

Alternatives named

  • Marshmallow

    From 2 comments
    • It does look like marshmalllow[1]. How does relate Kim with it? [1]: https://github.com/marshmallow-code/marshmallow/
      sakawa on HN
    • So stuff like this or marshmallow is more for cases when you have some database / ORM objects and you want to serialize them out to a json object, or you want to process…
      makmanalp on HN
  • Pickle and dill

    From 2 comments
    • To expand on fnord, to my knowledge, pickle handles all of these things. Its still a bad solution, but it does everything you want. ``` pickle.dump(f, anyobject) anyobject =…
      joshuamorton on HN
    • why not pickle :) :)
      ff7c11 on HN
  • Asphalt-serialization

    From 1 comment
    • Cool project! In the case of serialization libraries,unless you are validating as part of your (de)serialization, I'd recommend avoiding schema-driven serialization libraries.…
      Dowwie on HN
  • Arrow, Parquet, HDF5 via PyTables

    From 2 comments
    • So stuff like this or marshmallow is more for cases when you have some database / ORM objects and you want to serialize them out to a json object, or you want to process…
      makmanalp on HN
    • We are really looking for serialization libraries that will work with pandas and scikit. This stuff is really all over the place - PMML, Arrow, Dill, pickle. Some stuff won't…
      sandGorgon on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/14096982)