Skip to contents

With the pointblank package it’s really easy to methodically validate your data whether in the form of data frames or as database tables. On top of the validation toolset, the package gives you the means to provide and keep up-to-date with the information that defines your tables.

For table validation, the agent object works with a large collection of simple (yet powerful!) validation functions. We can enable much more sophisticated validation checks by using custom expressions, segmenting the data, and by selective mutations of the target table. The suite of validation functions ensures that everything just works no matter whether your table is a data frame or a database table.

Sometimes we want to maintain table information and update it when the table goes through changes. For that, we can use an informant object plus associated functions to define the metadata entries and present it as a data dictionary. Just like we can with validation, pointblank offers easy ways to have the metadata updated so that this important documentation doesn’t become stale.


Want to try this out? The pointblank package is available on CRAN:


You can also install the development version of pointblank from GitHub:


If you encounter a bug, have usage questions, or want to share ideas to make this package better, feel free to file an issue.

Let’s Discuss!

Let’s talk about data validation and data documentation in pointblank Discussions! It’s a great place to ask questions about how to use the package, discuss some ideas, engage with others, and much more!

Code of Conduct

Please note that the pointblank project is released with a contributor code of conduct. By participating in this project you agree to abide by its terms.

📄 License

pointblank is licensed under the MIT license. See the file for more details.

🏛️ Governance

This project is primarily maintained by Rich Iannone. Other authors may occasionally assist with some of these duties.