[ANN] Julia Data Science Book and Books.jl

@rikh , @lazarusA and I are happy to announce that our book Julia Data Science is now available on Amazon.com.

We ve created this book to make it easier for our collegues and friends to pick up Julia. Especially for people new to Julia, it can be difficult to figure out what package to use and how the packages work together. Therefore, we focussed on Julia basics, DataFrames.jl , CSV.jl , XLSX.jl and Makie.jl because these are the main data manipulation and visualization packages that can solve many problems.

To make it easier to create the book, we’ve used Books.jl. This package solves multiple problems that @rikh experienced with similar packages. Specifically:

  1. The package can generate HTML and PDF from your text and code. Code is evaluated for you and outputs are embedded (like Jupyter, Rmarkdown, Weave.jl or Franklin.jl ).
  2. The package fully supports code written inside your own package. So, it can grab code definitions from your own package and display them inside the book. Creating a package for your book makes it easy to combine your book with other tools such as CompatHelper and Test .
  3. The package fully supports Revise.jl . All code changes are tracked and change your output immediately.
  4. The package is aimed at being used in CI. If you set fail on error to true and have missing cross-references, code which throws an error or invalid PDF syntax, then CI will fail. This ensures that if CI passes then you can be quite sure that your book looks good.

Thanks to all the people who provided feedback and sometimes even PRs to the book and Books package.

69 Likes

Thank you @rikh for your additional awesome contribution, Books.jl, a must see package.

8 Likes

Purchased. :pray:t2:

3 Likes

Thank you. This is a well written introduction to working with Julia for data science. I’ve been keeping so many bookmarks to forum posts, to blog posts by Bogumił Kamiński, to package documentation, etc… However, for those beginning with Julia this can be overwhelming. This resource (and others like it) will help introduce new users to this fantastic language.

2 Likes

it’s a great book. Can I leave a suggestion for the next edition? I would add on this page Data Visualization with Makie.jl - Julia Data Science a quick sentence on how to actually view a plot produced with Makie. I wasted a good 30 minutes before i saw here Basic Tutorial that I’d best do this in VScode.

4 Likes

Thank you. Good feedback and it’s online: how to display plots with CairoMakie by lazarusA · Pull Request #200 · JuliaDataScience/JuliaDataScience · GitHub.

We‘ve discussed how quick we should be updating the physical book. Updating the version on Amazon takes about 10 minutes which will be printed a few hours later. The counterargument is that it wouldn’t be good for readers in a class who all have a slightly different version. So I think it’s a difficult choice and thoughts are welcome

2 Likes

Great - in fact I was looking for the repo but couldn’t find it. Good it’s in your list. I would do as you suggest ie update the physical book only every couple of months (say) but have a man up to date version online?

2 Likes

My copy’s going to be out of date before I’ve even finished reading it… :joy:

Still, I’ve got a first edition. :+1:t2:

3 Likes

Yes, noted. Another reason to not update it so quickly :slightly_smiling_face:

1 Like

We will be updating if frequently in the online version at juliadatascience.io. But the paperback editions will have a different lifetime cycle. We would launch a 2nd edition if we have extra content to put or if DataFrames.jl, Julia or Makie.jl have been updated/broken the API so that we NEED to do a 2nd edition.

Today I started, with the help of some students here in Brazil, translating the book to Portuguese. It will be the same as the English version (free and opensourced online, with a paperback on Amazon.com.br). We are looking for volunteers to translate it to Spanish (we would aknowledge him/her/they as the translator inside the HTML and PDF).

6 Likes