wkhtmltopdf and wkhtmltoimage are powerful utilities to convert HTML to PDF
or an image file using a patched static build of Qt and the webkit rendering
engine.
A webpage can be downloaded directly from the web and rendered into a PDF
document or an image file (multiple formats are supported).
Features of the static version:
* Convert web pages into PDF documents (or images) using webkit
* Adding headers and footers
* TOC generation
* Batch mode conversions
* XServer is not required (however the X11 client libs must be installed)
For proper functionality you may need to install the following port(s):
x11-fonts/webfonts
Emma is a graphical toolkit for MySQL database developers and administrators.
It provides dialogs to create or modify MySQL databases, tables and
associated indexes. It has a built-in syntax highlighting SQL editor with
table- and fieldname tab-completion and automatic SQL statement formatting.
The results of an executed query are displayed in a resultset where the record-
data can be edited by the user, if the SQL statement allows for it. The SQL
editor and resultset-view are grouped in tabs. Results can be exported to CSV
files. Multiple simultaneously opened MySQL connections are possible.
An open-source, distributed, time series database with no external
dependencies. InfluxDB is the new home for all of your metrics,
events, and analytics.
InfluxDB is a time series, metrics, and analytics database. It'written
in Go and has no external dependencies. That means once you install
it there's nothing else to manage (like Redis, ZooKeeper, HBase,
or whatever).
InfluxDB is targeted at use cases for DevOps, metrics, sensor data,
and real-time analytics. It arose from our need for a database like
this on more than a few previous products we' built. You can read
more about our jurney from SaaS application to open source time
series database.
buzhug is a fast, pure-Python database engine, using a syntax that Python
programmers should find very intuitive.
The data is stored and accessed on disk (it is not an in-memory database);
the implementation has been designed to make all operations, and especially
selection, as fast as possible with an interpreted language.
The database is implemented as a Python iterator, yielding objects whose
attributes are the fields defined when the base is created ; therefore,
requests can be expressed as list comprehensions or generator expressions,
instead of SQL queries.
Cassandra is a highly scalable, eventually consistent, distributed,
structured key-value store. Cassandra brings together the distributed
systems technologies from Dynamo and the data model from Google's
BigTable. Like Dynamo, Cassandra is eventually consistent. Like
BigTable, Cassandra provides a ColumnFamily-based data model richer
than typical key/value systems.
Cassandra was open sourced by Facebook in 2008, where it was designed
by one of the authors of Amazon's Dynamo. In a lot of ways you can
think of Cassandra as Dynamo 2.0. Cassandra is in production use at
Facebook but is still under heavy development.
This module is useful if you manage data which has a lot of on/off attributes
like active, inactive, deleted, important, etc. If you do not want to add an
extra column for each of those attributes you can easily specify them in one
integer column.
A bit field is a way to store multiple bit values on one integer field.
The main benefit from this module is that you can add additional attributes
to your result class whithout the need to deploy or change the schema on the
data base.
It is a base class for ResultSets providing just one method: recur-
sive_update which works just like update_or_create but can recursively
update or create data objects composed of multiple rows. All rows need
to be identified by primary keys - so you need to provide them in the
update structure (unless they can be deduced from the parent row - for
example when you have a belongs_to relationship). If not all colums
comprising the primary key are specified - then a new row will be cre-
ated, with the expectation that the missing columns will be filled by
it (as in the case of auto_increment primary keys).
The object produced by Data::Pageset can be used to create page
navigation, it inherits from Data::Page and has access to all methods from
this object.
In addition it also provides methods for dealing with set of pages, so
that if there are too many pages you can easily break them into chunks for
the user to browse through.
You can even choose to view page numbers in your set in a 'sliding'
fassion.
The object can easily be passed to a templating system such as Template
Toolkit or be used within a script.
his module contains a function to return an iterator (see the Iterator
module) that returns the rows of a database query, one at a time.
This is marginally more useful than simply calling prepare and execute,
and then repeatedly calling fetchrow_hashref; since this one function
bundles up the calls to all three of those DBI methods.
But the real usefulness of this interface is that it can be chained
together with other Iterator functions. The "idb_rows" iterator has the
same interface as any other interface, making it interchangeable with
iterators of any other source (for example, files), and usable with the
iterator manipulation functions in the Iterator::Util module.
A better alternative to the native transaction signals of Django.
Sometimes you need to fire off an action related to the current database
transaction, but only if the transaction successfully commits. Examples:
a Celery task, an email notification, or a cache invalidation.
Doing this correctly while accounting for savepoints that might be
individually rolled back, closed/dropped connections, and idiosyncrasies of
various databases, is non-trivial. Transaction signals just make it easier
to do it wrong.
django-transaction-hooks does the heavy lifting so you don't have to.