Although this list features some bestsellers, rather than being purely the most popular titles, these books have been chosen for their particular significance to the Suffolk Libraries stock unit over the past 12 months.
Artemis Cooper - Elizabeth Jane Howard: a dangerous innocence
We always knew this would be a big title in Suffolk even when it appeared on our pre-publication lists three months in advance. Elizabeth Jane Howard was a much loved writer and was in the Friends group at Bungay Library. Artemis Cooper interviewed Howard on several occasions and has produced a fascinating book. With the local connections it was only natural that Artemis Cooper should visit Bungay Library to talk about her new book, which she did in September.
Graeme Macrae Burnet - His Bloody Project: documents relating to the case of Roderick Macrae: a novel
The Man Booker Award is always an interesting time for us. The longlist is announced and we make sure we have enough copies but we try not to buy too many in case they do not win. This year Graeme Macrae Burnet’s book was the popular choice of Suffolk readers, if not the official jury. As it was from a small Scottish publisher with a short print run it immediately went out of print as soon as everyone wanted it.
The idea of the book is an original one: the reader knows that there’s been a murder and who’s responsible, so the interest lies in the why and an exploration of the ‘crime’ from different perspectives. This is a book that plays with your mind. It looks like a non-fiction book but it is a novel. A tip if you are reading it, do not skip the foreword. I would file this one under ‘a great read’.
J. K. Rowling, Jack Thorne & John Tiffany - Harry Potter and the Cursed Child
The first thing to say about this is it is a play. From a library perspective this created a few problems. Do you file it on the non-fiction shelf with Pinter et al or put it on the fiction shelves where people will find it? In the end we left it to local libraries to make their own decision, so I would advise checking the catalogue if you want to find this one!
Would the play be as popular as the books? The answer was probably ‘no’, but it is different. We return to the wizarding world 19 years after the Battle of Hogwarts. Some HP fans have been disappointed, but to be fair to the writers it was written to be a West End show, complete with stage directions. Harry, Ron, Hermione, Ginny and Draco Malfoy all feature but they are now middle-aged men and women with children of their own and jobs. One of my colleagues took this home and read it in one sitting but other reviews I have read have been mixed. Why not give it a try and judge for yourself?
Chris Packham - Fingers in the Sparkle Jar: lessons in life and death
TV personality Chris Packham (BBC Springwatch) delivers a brutally honest memoir which reveals how the mind of a person with Asperger’s works. It is often written in the third person as an outsider and is not always an easy read, but is definitely a rewarding one. Written in his usual exquisite prose, with breath-taking descriptions of the creatures, birds and woodlands, as well as pin-sharp details of the characters that he encounters, it is difficult to put down. If you want fluffy animals and a standard autobiographical tale you had better look elsewhere. This is in a whole different league and all the better for it.
Paula Hawkins - The Girl On The Train
This book was written last year but the reason I have included it is that it has stayed at the top of the bestseller lists throughout 2016, fighting off all comers. When we bought this book for library stock we had to keep buying more to keep up with demand.
For those who have been living in a cave for the last year the story is as follows: Rachel takes the train to work every day. It stops at the same place and she has a chance to gaze into the life of a ‘perfect’ young couple who she calls Jess and Jason and their perfect relationship. Then, one day, everything changes…
This is a top notch psychological thriller which will have you hooked. Interestingly there is a similarly titled self-published book in our collection which has done brisk business as people have put reservations on the wrong title. We were exceptionally lucky to get Paula Hawkins for our Meet the Author slot and she gave some interesting insights into how the book was written.
Lee Child - Night School
It wouldn’t be a proper list without including Suffolk Libraries’ most popular author. Every year Lee Child tops our list for most issued books and e-books. Any new book featuring Jack Reacher is eagerly seized on by his Suffolk fan base. We even have a special arrangement with our book supplier to get his new titles on screen as quickly as possible so we can get the reservations against the new book and assess demand. As I write this we have around 300 reservations for his newest title. One of the best moments of the year for me was when an e-mail from his publicist dropped into my e-mail box to tell me he would do our Meet the Author slot.
Monty Don - Nigel: my family and other dogs
Every year there is a surprise hit title. Nigel, Monty Don’s faithful golden retriever, fills that slot this year. Nigel is such a celebrity that he gets fan mail and has his own social media accounts with more than 22,000 Twitter followers! Unfortunately Nigel is not so hot on writing so Monty does that for him, telling a story of his dogs and how important dogs have been in his life. I’m sure this will be in a few Christmas stockings this year.
John le Carré - The Pigeon Tunnel
In 2016 The Night Manager became must-watch Sunday night TV. It also led a lot of people to start re-discovering John le Carre’s books. Now finally we hear from the man himself. The Pigeon Tunnel is more a series of autobiographical reminiscences than a biography, but it is a hugely enjoyable journey through his life - a life that has included fascinating meetings with everyone from Yasser Arafat to Alec Guinness (who brought the author’s George Smiley to life in a memorable TV adaptation), scientist Andrei Sakharov, film directors Fritz Lang, Stanley Kubrick, Richard Burton and many more.
Bruce Springsteen - Born To Run
An excellent read for the fan or non-fan.  This has a ring of authenticity of it coming from the man himself. If you only read one music biography this year, choose this one.
Paul Beatty - The Sellout
The 2016 Man Booker Prize winner. This is one for future book groups to argue about.  Bon Bon’s father believes that he will one day write a book about his studies and it will secure the family’s future. Before this can happen, he is gunned down in a drive-by shooting. Then the town where they live, Dickens, is removed from the map so that California is spared any further ‘embarrassment’. Bon Bon makes plans to right these wrongs and does it in the most satirical way possible by bringing back racial segregation to the town in schools and by reinstating slavery. This leads him to court, where the novel begins, as he is charged with having a slave.
I have heard varied reports of this one. It is a brilliant idea but it is hard to sustain for a whole book and the rambling style is not to everyone’s taste. Only time will tell as to whether this becomes a classic or a footnote in Booker Prize history.


gnome-screensaver-preferences
Section: User Commands (1)Updated: 2007-09-27
Index Return to Main Contents
NAME
gnome-screensaver-preferences - configure GNOME ScreensaverSYNOPSIS
gnome-screensaver-preferences [OPTIONS...]DESCRIPTION
Manages preferences for the GNOME screen saver.OPTIONS
This program only accepts the standard GTK options.AUTHORS
gnome-screensaver-preferences is written by William Jon McCann<EMAIL_ADDRESS>This manual page was written by Sven Arvidsson<EMAIL_ADDRESS>ALSO
gnome-screensaver(1), gtk-options(7) The online documentation available through the program's Help menu.
Index
This document was created by man2html, using the manual pages.
Time: 05:29:04 GMT, December 24, 2015


SocketIOClientOption
public enum SocketIOClientOption : ClientOption
The options for a client.
-
A dictionary of GET parameters that will be included in the connect url.
Declaration
Swift
case connectParams([String: Any])
-
An array of cookies that will be sent during the initial connection.
Declaration
Swift
case cookies([HTTPCookie])
-
The node.js socket.io currently does funky things to unicode when doing HTTP long-polling. Passing
true
in this option causes the client to try and fix any bad unicode that might be sent.Declaration
Swift
case doubleEncodeUTF8(Bool)
-
Any extra HTTP headers that should be sent during the initial connection.
Declaration
Swift
case extraHeaders([String: String])
-
If passed
true
, will cause the client to always create a new engine. Useful for debugging, or when you want to be sure no state from previous engines is being carried over.Declaration
Swift
case forceNew(Bool)
-
If passed
true
, the only transport that will be used will be HTTP long-polling.Declaration
Swift
case forcePolling(Bool)
-
If passed
true
, the only transport that will be used will be WebSockets.Declaration
Swift
case forceWebsockets(Bool)
-
The queue that all interaction with the client should occur on. This is the queue that event handlers are called on.
Declaration
Swift
case handleQueue(DispatchQueue)
-
If passed
true
, the client will log debug information. This should be turned off in production code.Declaration
Swift
case log(Bool)
-
Used to pass in a custom logger.
Declaration
Swift
case logger(SocketLogger)
-
The namespace that this client should connect to. Can be changed during use using the
joinNamespace
andleaveNamespace
methods onSocketIOClient
.Declaration
Swift
case nsp(String)
-
A custom path to socket.io. Only use this if the socket.io server is configured to look for this path.
Declaration
Swift
case path(String)
-
If passed
false
, the client will not reconnect when it loses connection. Useful if you want full control over when reconnects happen.Declaration
Swift
case reconnects(Bool)
-
The number of times to try and reconnect before giving up. Pass
-1
to never give up.Declaration
Swift
case reconnectAttempts(Int)
-
The number of seconds to wait before reconnect attempts.
Declaration
Swift
case reconnectWait(Int)
-
Set
true
if your server is using secure transports.Declaration
Swift
case secure(Bool)
-
Allows you to set which certs are valid. Useful for SSL pinning.
Declaration
Swift
case security(SSLSecurity)
-
If you’re using a self-signed set. Only use for development.
Declaration
Swift
case selfSigned(Bool)
-
Sets an NSURLSessionDelegate for the underlying engine. Useful if you need to handle self-signed certs.
Declaration
Swift
case sessionDelegate(URLSessionDelegate)
-
If passed
true
, the WebSocket transport will try and use voip logic to keep network connections open in the background. This option is experimental as socket.io shouldn’t be used for background communication.Declaration
Swift
case voipEnabled(Bool)
-
The description of this option.
Declaration
Swift
public var description: String


Load records file for transactions.
Select the records file to load into the database.
Filename:
Or enter your record lines below.
Input Lines:
Enter records here.
Return home


Package - Architectural Goals and Constraints link
| Description |
|
This package contains the software requirements and objectives that have some significant impact on the architecture; for example, safety, security, privacy, use of an off-the-shelf product, portability, distribution, and reuse. It also captures the special constraints that may apply: design and implementation strategy, development tools, team structure, schedule, legacy code, and so on. |


On the same day President Obama signs an executive order imposing sanctions on Russia for its unlawful annexation of Crimea, Trump praises Putin during a speech before the Conservative Political Action Conference (CPAC). “You know, I was in Moscow a couple of months ago. I own the Miss Universe Pageant and they treated me so great. Putin even sent me a present, a beautiful present,” he said.
Source: U.S. News and World Report


| Package | com.pblabs.rendering2D.spritesheet |
| Class | public class SWFSpriteSheetComponent |
| Inheritance | SWFSpriteSheetComponent SpriteContainerComponent EntityComponent |
| Property | Defined by | ||
|---|---|---|---|
| bounds : Rectangle [read-only]
The bounds of the source MovieClip.
| SWFSpriteSheetComponent | ||
| cached : Boolean = true
When cached is set to true (the default) the rasterized frames
are re-used by all instances of the SWFSpriteSheetComponent
with the same values for swf, smoothing, and clipName.
| SWFSpriteSheetComponent | ||
| center : Point
Specifies an offset so the sprite is centered correctly.
| SpriteContainerComponent | ||
| clipName : String
The name of the clip to instantiate from the SWF.
| SWFSpriteSheetComponent | ||
| degreesPerDirection : Number
The number of degrees separating each direction.
| SpriteContainerComponent | ||
| directionsPerFrame : Number = 1
The number of directions per frame.
| SpriteContainerComponent | ||
| frameCount : int
The number of frames the sprite container has.
| SpriteContainerComponent | ||
| isLoaded : Boolean [read-only]
| SWFSpriteSheetComponent | ||
| isRegistered : Boolean
Whether or not the component is currently registered with an entity.
| EntityComponent | ||
| name : String
The name given to the component when it is added to an entity.
| EntityComponent | ||
| owner : IEntity
A reference to the entity that this component currently belongs to.
| EntityComponent | ||
| rawFrameCount : int
The total number of frames the sprite container has.
| SpriteContainerComponent | ||
| scale : Point
X/Y scaling for the SWF as it renders to bitmap.
| SWFSpriteSheetComponent | ||
| smoothing : Boolean
Whether or not the bitmaps that are drawn should be smoothed.
| SWFSpriteSheetComponent | ||
| swf : SWFResource
The SWF to be rasterized into frames.
| SWFSpriteSheetComponent |
| Property | Defined by | ||
|---|---|---|---|
| _frameCache : Dictionary [static]
| SWFSpriteSheetComponent |
| Method | Defined by | ||
|---|---|---|---|
|
buildFrames():void
| SpriteContainerComponent | ||
|
deleteFrames():void
Deletes the frames so this class can be re-used with a new set of frames.
| SpriteContainerComponent | ||
|
getBitmapDataByDisplay(display:DisplayObject):BitmapData
Draws the DisplayObject to a BitmapData using the bounds of the object.
| SWFSpriteSheetComponent | ||
|
getCachedFrames():CachedFramesData
Reads the frames from the cache.
| SWFSpriteSheetComponent | ||
|
getFramesCacheKey():String
| SWFSpriteSheetComponent | ||
|
getRawFrame(index:int):BitmapData
| SWFSpriteSheetComponent | ||
|
getSourceFrames():Array
Rasterizes the associated MovieClip and returns a list of frames.
| SWFSpriteSheetComponent | ||
|
onAdd():void
This is called when the component is added to an entity.
| EntityComponent | ||
|
onRasterize(mc:MovieClip):Array
Performs the actual rasterizing.
| SWFSpriteSheetComponent | ||
|
onRemove():void
This is called when the component is removed from an entity.
| EntityComponent | ||
|
onReset():void
This is called anytime a component is added or removed from the owner entity.
| EntityComponent | ||
|
rasterize():void
Rasterizes the clip into an Array of BitmapData objects.
| SWFSpriteSheetComponent | ||
|
rasterizeFrame(mc:MovieClip, frameIndex:int):BitmapData
| SWFSpriteSheetComponent | ||
|
setCachedFrames(frames:CachedFramesData):void
Caches the frames based on the current values.
| SWFSpriteSheetComponent |
| bounds | property |
bounds:Rectangle
[read-only]The bounds of the source MovieClip. This can be used for clips that are expected to be rendered based on their bounds.
Implementation public function get bounds():Rectangle
| cached | property |
public var cached:Boolean = true
When cached is set to true (the default) the rasterized frames are re-used by all instances of the SWFSpriteSheetComponent with the same values for swf, smoothing, and clipName.
| clipName | property |
clipName:String
[read-write]The name of the clip to instantiate from the SWF. If this is null the root clip will be used.
Implementation public function get clipName():String
public function set clipName(value:String):void
| _frameCache | property |
protected static var _frameCache:Dictionary
| isLoaded | property |
isLoaded:Boolean
[read-only]Implementation
public function get isLoaded():Boolean
| scale | property |
scale:Point
[read-write]X/Y scaling for the SWF as it renders to bitmap. Value of (1, 1) mean no scaling (default). (0.5, 0.5) would be half the normal size, and (2, 2) would be double.
Implementation public function get scale():Point
public function set scale(value:Point):void
| smoothing | property |
smoothing:Boolean
[read-write]Whether or not the bitmaps that are drawn should be smoothed. Default is True.
Implementation public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
| swf | property |
swf:SWFResource
[read-write]The SWF to be rasterized into frames.
Implementation public function get swf():SWFResource
public function set swf(value:SWFResource):void
| getBitmapDataByDisplay | () | method |
protected function getBitmapDataByDisplay(display:DisplayObject):BitmapData
Draws the DisplayObject to a BitmapData using the bounds of the object.
Parametersdisplay:DisplayObject |
BitmapData |
| getCachedFrames | () | method |
protected function getCachedFrames():CachedFramesData
Reads the frames from the cache. Returns a null reference if they are not cached.
ReturnsCachedFramesData |
| getFramesCacheKey | () | method |
protected function getFramesCacheKey():String
Returns
String |
| getRawFrame | () | method |
protected override function getRawFrame(index:int):BitmapData
Parameters
index:int |
BitmapData |
| getSourceFrames | () | method |
protected override function getSourceFrames():Array
Rasterizes the associated MovieClip and returns a list of frames.
ReturnsArray |
| onRasterize | () | method |
protected function onRasterize(mc:MovieClip):Array
Performs the actual rasterizing. Override this to perform custom rasterizing of a clip.
Parametersmc:MovieClip |
Array |
| rasterize | () | method |
protected function rasterize():void
Rasterizes the clip into an Array of BitmapData objects. This array can then be used just like a sprite sheet.
| rasterizeFrame | () | method |
protected function rasterizeFrame(mc:MovieClip, frameIndex:int):BitmapData
Parameters
mc:MovieClip |
|
frameIndex:int |
BitmapData |
| setCachedFrames | () | method |
protected function setCachedFrames(frames:CachedFramesData):void
Caches the frames based on the current values.
Parametersframes:CachedFramesData |


KryptEd respects all effort for valuable content in educational matters.
Become part of the KryptEd ecosystem. Increase your decision-making skills. Learn, earn, invest - all on the blockchain.
KryptEd respects all effort for valuable content in educational matters.
Become part of the KryptEd ecosystem. Increase your decision-making skills. Learn, earn, invest - all on the blockchain.
You get available options for everyone around the globe.
Physical academies and e-learning platform assures education available for whomever, wherever, regardless of location both geographical and in life itself.
The future starts now, technological knowledge helps the world move forward.
We are facing the inevitable digitalization of our world. Keep track, and ensure up to date competence in technology.
KryptEd aims to be the first cryptocurrency and blockchain wiki, educating generations of coders that understands the nature of smart contracts, and creating investors that are smart decision makers.
KryptEd strives to create an ecosystem, supporting cryptocurrency and blockchain education through e-learning and physical academies, to educate the world.
We will achieve this by being in the front line of the fourth industrial revolution, led by a team whose key characteristics are built upon innovation, problem solving, resilient work ethics, humanity, optimism, and with limitless creativity.
As for 2018, marketing campaign will be launched, videos created, technical aspects shaped and generated as well as the platform’s
user profile being defined.
Producers and consumer will be enabled registration and setup for profile, and paid text only courses can be sold and bought.
Metamask&Web3 will be integrated, homework support running and list of achieved certificates will be held.
As for 2018, marketing campaign will be launched, videos created, technical aspects shaped and generated as well as the platform’s
user profile being defined.
Producers and consumer will be enabled registration and setup for profile, and paid text only courses can be sold and bought.
Metamask&Web3 will be integrated, homework support running and list of achieved certificates will be held.
We are looking to be a legitimate organization with a purpose of serving people who are in need of support and who are looking to develop themselves.
We want to put aside twenty percent of the commissions from platform profits, mainly for the development and education of fundamentals of blockchain technology and cryptocurrency markets.
KryptEd will create a generation of coders that understands the nature of smart contracts and investors that are smart decision makers.
First of all, you should be a member of this platform www.ovis.com.tr because our sales will be on the platform. Non-members can subscribe to the platform with reference code<PHONE_NUMBER>18014 (Reference code is a reference to our project and is not relevant to anyone).
Once you have completed your membership, you need to verify your identity otherwise you will not be able to join ico. Once you have completed this process, you can participate by going through the ico tab on the platform www.ovis.com.tr/ico starting from 09:00 on 15.04.2018.
We would like to thank all those who would like to participate and support our project in the stage of existence.
Click to read Terms and Conditions.


| Race | |
|---|---|
| Alignment |
| Level | |
|---|---|
| Cost | |
| Hit Points | |
| Movement | |
| Experience |
Attacks
|
Advancement
Description
Resistances
| Blade | |
|---|---|
| Pierce | |
| Impact | |
| Fire | |
| Cold | |
| Arcane |
Terrain
| Defense | Movement | |
|---|---|---|
| Castle | ||
| Cave | ||
| Coastal Reef | ||
| Deep Water | ||
| Flat | ||
| Forest | ||
| Frozen | ||
| Hills | ||
| Impassable | ||
| Mountains | ||
| Mushroom | ||
| Sand | ||
| Shallow Water | ||
| Swamp | ||
| Unwalkable | ||
| Village |


Friday is here… a quick sitrep on my practices around Terraform connections with Azure, AWS, and GCP. In the past week I’ve been working on getting Terraform deploying a clean Kubernetes Cluster, then getting connected to that cluster and getting some resources deployed to the cluster. This article I’m just going to cover the practices I’m using to secure connections with the respective cloud providers, but more is coming soon.
Kubernetes and Terraform
I’ve used Azure and Google Compute Platform (GCP) to accomplish the initial Kubernetes Cluster deployments. The following is the path I followed to get each cluster running on the respective platform.
Before diving directly into the deployments I’ve setup with Terraform, I’ll cover a little of how I’ve setup Terraform to authenticate and such. First, Azure and then GCP.
Azure Terraform Setup
My Terraform configuration file for connections with Azure looks like this.
provider "azurerm" {
subscription_id = "${var.subscription_id}"
client_id = "${var.client_id}"
client_secret = "${var.client_secret}"
tenant_id = "${var.tenant_id}"
}
What I’ve done is setup a variable for each of the connection requirements. These variables are then set via environment variables. The environment variables I set via my ~/.bash_profile or ~/.bashrc file depending on if I’m working on the System76 Ubuntu machine, Mac Book Pros, or iMacs I regularly work on.
export TF_VAR_subscription_id="90a9b1d7-1529-4ec4-abd4-e2ad84bfadf3"
export TF_VAR_client_id="e705e58a-8a2b-4b87-b69a-c3eee633b8e6"
export TF_VAR_client_secret="c4f13f94-4d1f-42c4-bfd5-cd55a3620d1b"
export TF_VAR_tenant_id="7325bc0f-1842-4126-8109-7c12773e7d30"
(Don’t worry, those are fakey UUIDs, but they’re the same type)
Once those are setup this way, I can easily connect to the Azure account without having any of my UUIDs (security IDs?, Key IDs?, whatever they’re called) sitting in any actual repositories. It’s all just variables.
The way Terraform works with environment variables is pretty straight forward, yet not intuitive without some solid RTFM time. The short description is Terraform picks up any prepended environment variables starting with TF_VAR
and using the name after that as the variable name. Thus, above, TF_VAR_subscription_id
become simply subscription_id
in the example above.
It’s also important to note that Terraform pulls these environment variables in without the need for them to be declared in configuration. This can be somewhat confusing since other variables need declared before use regardless of being passed in at execution time or assigned in a tfvars file.
GCP Terraform Setup
For GCP the connection I set it up using the account.json file. What I do is place the account.json file in a parallel security directory and simply reference it in the connection. Again, nothing with security information goes into the repository. The configuration looks like this.
provider "google" {
credentials = "${file("../../secrets/account.json")}"
project = "mythrashingawesomeprojectname"
region = "us-west1"
}
With GCP there are not any magical environment variables. This is something I actually like, which makes it a little easier to make it all inclusive within a repository and a security package that I can securely move from machine to machine, instead of needing to re-implement more junk loading as environment variables. Those ~/.bash_profile and ~/.bashrc files get messy enough without additional development environment specific repository specific variables!
AWS Setup
AWS is absurdly simple, yet it requires you’ve setup all the default connection and configuration for the AWS CLI. The only connection info for AWS is as shown below.
provider "aws" {}
In the end, with all three of these added my ~/.bashrc and ~/.bash_profile files look like this.
# Azure Variables
export TF_VAR_subscription_id="90a9b1d7-1529-4ec4-abd4-e2ad84bfadf3"
export TF_VAR_client_id="e705e58a-8a2b-4b87-b69a-c3eee633b8e6"
export TF_VAR_client_secret="c4f13f94-4d1f-42c4-bfd5-cd55a3620d1b"
export TF_VAR_tenant_id="7325bc0f-1842-4126-8109-7c12773e7d30"
# AWS Variables
export TF_VAR_aws_region="us-west-2"
Note the only AWS variable I specifically add, is the region, the CLI adds a bunch of others or sets/assumes environment defaults in the ~/.aws/
directory. It also sets the region, but I’ve found some tooling doesn’t seem to use the set one, so I add the variable here so Terraform doesn’t get confused and has it set specifically.
That’s the way I find myself setting up connections for Terraform and AWS, Google Cloud Platform, and Azure. If you’ve got suggestions, questions, or thoughts on better ways to do this I’d love to hear about them. Ping me on Twitter @Adron and we’ll discuss.
Alright, so now it’s Kubernetes time. Once the above connection is worked out for the respective cloud providers, I can get a Kubernetes Cluster running in each. I’ll tackle the creation of each below, broken out to GCP and Azure, with a follow up blog post on getting Terraform to launch a Kubernetes Cluster in AWS at a later time.
GCP Kubernetes Cluster
For GCP I setup my resource as shown.
resource "google_container_cluster" "googlykuby" {
name = "${var.cluster_name}"
zone = "us-west1-a"
initial_node_count = "${var.gcp_cluster_count}"
additional_zones = [
"us-west1-b",
"us-west1-c",
]
master_auth {
username = "${var.linux_admin_username}"
password = "${var.linux_admin_password}}"
}
node_config {
oauth_scopes = [
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
]
labels {
this-is-for = "dev-cluster"
}
tags = ["dev", "work"]
}
}
I setup the two variables; cluster_name
and gcp_cluster_count
to pull some of the settings into the variables file. Currently, my default setup is also to have two additional zones too, which means that a node will be setup in each of these zones. So expect the VM count to be gcp_cluster_count
multiplied by the number of zones that are being used. In this case, there are two additional zones plus the zone the cluster is being created in, times let’s say 2 for gcp_cluster_count
, which will give me 6 VM instances running. This is respectively 6 nodes in the cluster.
The master_auth
is then also setup, similarly to the way I setup the connection variables previously, in which they’re environment variables or I pass them in via CLI parameters.
Then, just for good measure I’ve added some labels and tags. Partly as an example of how to use them but also just to differentiate this cluster versus other clusters I might have running.
This might be surprising, but that’s it for the resource in Kubernetes. We’re now ready to launch our cluster in GCP.
Azure Kubernetes Cluster
The Azure setup is a bit different, and in some ways more extensive in demand than the GCP setup. I’ve tested out a few configurations and have ended up, generally, with configuration that looks like this.
resource "azurerm_container_service" "bluekuby" {
name = "bluekubyhouse"
location = "${azurerm_resource_group.blue_kuby_group.location}"
resource_group_name = "${azurerm_resource_group.blue_kuby_group.name}"
orchestration_platform = "Kubernetes"
master_profile {
count = 1
dns_prefix = "${var.azure_cluster_prefix}"
}
linux_profile {
admin_username = "${var.linux_admin_username}"
ssh_key {
key_data = "${var.ssh_key}"
}
}
agent_pool_profile {
name = "default"
count = "${var.azure_node_count}"
dns_prefix = "kuby.house"
vm_size = "Standard_A0"
}
service_principal {
client_id = "${var.client_id}"
client_secret = "${var.client_secret}"
}
diagnostics_profile {
enabled = false
}
tags {
Environment = "Production"
}
}
The location and resource group values passed in the azurerm_resource_group.blue_kuby_group.location
and azurerm_resource_group.blue_kuby_group.name
are created in the following resource.
resource "azurerm_resource_group" "blue_kuby_group" {
name = "bluekubygroup"
location = "West US"
}
One of the differences I’ve noticed with the Azure setup vs. the GCP setup is that it appears, the Azure setup needs an ssh key to work with for authentication purposes while the GCP setup doesn’t particularly need this.
Or does it? I’ll talk more about that in a future post. For now I’ll leave you to ponder what one is doing versus the other! #shock #amaze #ohnoez!
This provides a simple summary of the two Kubernetes setups for GCP and Azure. In a subsequent post I’ll dive into AWS Kubernetes setup via Terraform and also elaborate on some of the specifics that are going on when using Terraform to setup Kubernetes in any of these environments. Stay tuned, subscribe via rss or for lower volume, subscribe to Thrashing Code News
References:
- My current working repo of config & code related to upcoming talks and their respective examples.
- Terraform AWS Provider Documentation
- Terraform GCP Provider Documentation
- Terraform Azure Provider Documentation


Air travel delays and cancellations can range from being inconvenient to being a catastrophe that ruins the travel plan.
The bubble chart shows the percentages of departure delays (x axis), arrival delays (y axis) and cancellation (bubble area) of each month of 2008 for US air travels.1 The bar charts show the ranking of months according to the percentages. Colors represnt the four seasons: spring, summer, fall, winter.
We can clearly see that fall months are great time for air travel. On the other hand, winter has some of the worst months, especially during December the holidy season.


Word Search(II)
Apr 3, 2016
Unique Binary Search Trees(II)
Apr 3, 2016
Letter Combinations of a Phone Number
Apr 3, 2016
House Robber(II)(III)
Apr 3, 2016
UniquePaths(II)
Apr 2, 2016
JUnit
Apr 1, 2016
BestTimeToBuyAndSellStock(II)(III)(IV)
Apr 1, 2016
动态规划原理学习笔记
Apr 1, 2016
Combinations
Mar 31, 2016
CombinationSum(II)(III)
Mar 31, 2016
Maximum Product Subarray
Apr 5, 2016
Generate Parentheses
Apr 5, 2016
Ugly Number(II)
Apr 4, 2016
Path Sum
Apr 4, 2016
Maximum Subarray
Apr 4, 2016
Minimum Path Sum
Apr 4, 2016
Word Search(II)
Apr 3, 2016
Unique Binary Search Trees(II)
Apr 3, 2016
Letter Combinations of a Phone Number
Apr 3, 2016
House Robber(II)(III)
Apr 3, 2016
UniquePaths(II)
Apr 2, 2016
BestTimeToBuyAndSellStock(II)(III)(IV)
Apr 1, 2016
Combinations
Mar 31, 2016
CombinationSum(II)(III)
Mar 31, 2016
Permutations(II)
Mar 30, 2016
Next Permutation
Mar 30, 2016
NQueens(II)
Mar 30, 2016
Subsets(II)
Mar 29, 2016


Access The Observatory of Economic Complexity API from R to download international trade data.
| Version: | 2.7.8 |
| Depends: | R (≥ 3.2) |
| Imports: | rlang, magrittr, dplyr, stringr, purrr, curl, jsonlite, readr |
| Published: | 2018-05-11 |
| Author: | Mauricio Vargas S. [aut, cre, cph], Manuel Aristaran [ctb], Pablo Paladino [ctb], Gabriela Perez [ctb], UN Comtrade [dtc], MIT Media Lab [dtc], Datawheel [fnd] |
| Maintainer: | Mauricio Vargas S. <oec at media.mit.edu> |
| BugReports: | https://github.com/pachamaltese/oec-r/issues |
| License: | MIT + file LICENSE |
| URL: | https://CRAN.R-project.org/package=oec |
| NeedsCompilation: | no |
| CRAN checks: | oec results |
| Reference manual: | oec.pdf |
| Package source: | oec_2.7.8.tar.gz |
| Windows binaries: | r-devel: oec_2.7.8.zip, r-release: oec_2.7.8.zip, r-oldrel: oec_2.7.8.zip |
| OS X binaries: | r-release: oec_2.7.8.tgz, r-oldrel: oec_2.7.8.tgz |
| Old sources: | oec archive |
Please use the canonical form https://CRAN.R-project.org/package=oec to link to this page.


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import models.PensionsTakenBetweenModel @import play.api.data._ @import common.Links @this( layout: Layout, form: uk.gov.hmrc.govukfrontend.views.html.components.FormWithCSRF, errorSummary: playHelpers.templates.errorSummary, formHiddenYesNoRadio: playHelpers.templates.formHiddenYesNoRadio, formInputMoney: playHelpers.templates.formInputMoney, helpTextAccordion: playHelpers.templates.helpTextAccordion, submitButton: playHelpers.templates.submitButton ) @(pensionsTakenBetweenForm: Form[PensionsTakenBetweenModel])(implicit request: Request[_], messages: Messages) @helpTextAccordionContent = {
@Messages("pla.pensionsTakenBetween.para.2")
@Messages("pla.pensionsTakenBetween.para.3.nonInput") @Messages("pla.pensionsTakenBetween.helpLinkText") (@Messages("pla.base.newTab")).
} @errorMessage = @{ for(error <- pensionsTakenBetweenForm.errors) yield { if(error.key.equals("pensionsTakenBetween")) "" else messages(error.message, error.args:_*) } } @hiddenYesNoContent = {@Messages("pla.pensionsTakenBetween.para.1")
@helpTextAccordion( id = "ip16-pensions-taken-between-help", summaryText = Messages("pla.pensionsTakenBetween.help"), hiddenContent = helpTextAccordionContent ) @formInputMoney( field = pensionsTakenBetweenForm("pensionsTakenBetweenAmt"), question = Messages("pla.pensionsTakenBetween.questionTwo"), hideLabel = true, pageHeading = false, errorMessage = if (pensionsTakenBetweenForm.errors.nonEmpty) Some(errorMessage.head) else Some("") ) } @title = @{ if(pensionsTakenBetweenForm.errors.nonEmpty){ messages("site.title.error", messages("pla.pensionsTakenBetween.title")) } else { messages("pla.pensionsTakenBetween.title") } } @layout( pageTitle = title ) { @errorSummary(pensionsTakenBetweenForm.errors, Some("pensionsTakenBetweenAmt"))


Hi, I’m Abdullahi Yusuf Muhammad. I’m a front-end web developer living in Abuja, Nigeria. I am a fan of programming, entrepreneurship, and cars. I’m also interested in technology and wild cats. Scroll down to see some of my work.
See the Pen Tribute to my President. by Abdullahi Yusuf Muhammad (@Am-Abduul) on CodePen.
See the Pen Abdull's Portfolio Page by Abdullahi Yusuf Muhammad (@Am-Abduul) on CodePen.


WITNESS LIST Border Affairs - Special Committee February 11, 1999-8:30A Issues relating to Border Affairs On: Cornyn, Honorable John (Attorney General's office), Austin Summers, Bill (Rio Grande Valley Partnership), Weslaco Registering, but not testifying: On: Ervin, Clark (Attorney General's office), Austin


|
DeepSpace-SWI
2019
|
DriveTrain is the only class to not buffer it's outputs. More...
Public Member Functions | |
| DriveTrain () | |
| void | arcadeDrive (double speed, double rotation) |
| The standard wrapper around WPIlib's joystick-based drive function. More... | |
| void | raiderDrive (double speed, double rotation) |
| Drive the robot with artificial acceleration and gear shifting. More... | |
| void | arcadeDrive (double speed, double rotation, boolean is_inputs_squared) |
| The standard wrapper around WPIlib's joystick-based drive function with optional input scaling. More... | |
| void | cheesyDrive (double speed, double rotation, boolean is_quick_turn) |
| Wrapper around 254's drive interface. More... | |
| void | tankDrive (double l, double r) |
| A passthrough to WPILib's TankDrive method. More... | |
| void | rawDrive (double l, double r) |
| Directly drive the gearboxes. More... | |
| void | setBrakes (boolean on) |
| Enables or disables brake mode on all drivebase talons. More... | |
| int | getLeftGearboxTicks () |
| Get the number of ticks recorded by the left GearBox's encoder. More... | |
| int | getRightGearboxTicks () |
| Get the number of ticks recorded by the right GearBox's encoder. More... | |
| void | outputTelemetry () |
| void | stop () |
| void | reset () |
| Public Member Functions inherited from frc.lib5k.loops.loopables.LoopableSubsystem | |
| void | periodicInput () |
| void | periodicOutput () |
| abstract void | outputTelemetry () |
| abstract void | stop () |
| abstract void | reset () |
Static Public Member Functions | |
| static DriveTrain | getInstance () |
| Get the current DriveTrain instance. More... | |
Public Attributes | |
| boolean | is_moving |
| Public Attributes inherited from frc.lib5k.loops.loopables.LoopableSubsystem | |
| String | name = "Unnamed Subsystem" |
| double | last_timestamp |
Static Public Attributes | |
| static DriveTrain | m_instance = null |
Private Attributes | |
| DifferentialDrive | m_DifferentialDrive |
Additional Inherited Members | |
| Protected Attributes inherited from frc.lib5k.loops.loopables.LoopableSubsystem | |
| RobotLogger | logger = RobotLogger.getInstance() |
DriveTrain is the only class to not buffer it's outputs.
We are currently waiting on pr #1691 before this is implemented.
Definition at line 19 of file DriveTrain.java.
| frc.robot.subsystems.DriveTrain.DriveTrain | ( | ) |
Definition at line 35 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.arcadeDrive | ( | double | speed, |
| double | rotation | ||
| ) |
The standard wrapper around WPIlib's joystick-based drive function.
| speed | Forward speed (from -1.0 to 1.0) |
| rotation | Rotation of robot (from -1.0 to 1.0) |
Definition at line 83 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.arcadeDrive | ( | double | speed, |
| double | rotation, | ||
| boolean | is_inputs_squared | ||
| ) |
The standard wrapper around WPIlib's joystick-based drive function with optional input scaling.
| speed | Forward speed (from -1.0 to 1.0) |
| rotation | Rotation of robot (from -1.0 to 1.0) |
| is_inputs_squared | Should WPIlib try to scale the inputs |
Definition at line 115 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.cheesyDrive | ( | double | speed, |
| double | rotation, | ||
| boolean | is_quick_turn | ||
| ) |
Wrapper around 254's drive interface.
The "turning" stick controls the curvature of the robot's path rather than its rate of heading change. This helps make the robot more controllable at high speeds. Also handles the robot's quick turn functionality - "quick turn" overrides constant-curvature turning for turn-in-place maneuvers.
| speed | Forward speed (from -1.0 to 1.0) |
| rotation | Rotation of robot (from -1.0 to 1.0) |
| is_quick_turn | Is quick turn functionality enabled? |
Definition at line 134 of file DriveTrain.java.
|
static |
Get the current DriveTrain instance.
Definition at line 69 of file DriveTrain.java.
| int frc.robot.subsystems.DriveTrain.getLeftGearboxTicks | ( | ) |
Get the number of ticks recorded by the left GearBox's encoder.
Definition at line 190 of file DriveTrain.java.
| int frc.robot.subsystems.DriveTrain.getRightGearboxTicks | ( | ) |
Get the number of ticks recorded by the right GearBox's encoder.
Definition at line 199 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.outputTelemetry | ( | ) |
Definition at line 204 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.raiderDrive | ( | double | speed, |
| double | rotation | ||
| ) |
Drive the robot with artificial acceleration and gear shifting.
| speed | Forward speed (from -1.0 to 1.0) |
| rotation | Rotation of robot (from -1.0 to 1.0) |
Definition at line 96 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.rawDrive | ( | double | l, |
| double | r | ||
| ) |
Directly drive the gearboxes.
This should only be used wile motion profiling
| l | Left speed |
| r | Right speed |
Definition at line 158 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.reset | ( | ) |
Definition at line 215 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.setBrakes | ( | boolean | on | ) |
Enables or disables brake mode on all drivebase talons.
| on | Should the brakes be enabled? |
Definition at line 172 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.stop | ( | ) |
Definition at line 210 of file DriveTrain.java.
| void frc.robot.subsystems.DriveTrain.tankDrive | ( | double | l, |
| double | r | ||
| ) |
A passthrough to WPILib's TankDrive method.
| l | Left speed |
| r | Right speed |
Definition at line 146 of file DriveTrain.java.
| boolean frc.robot.subsystems.DriveTrain.is_moving |
Definition at line 29 of file DriveTrain.java.
|
private |
Definition at line 28 of file DriveTrain.java.
|
static |
Definition at line 21 of file DriveTrain.java.


{% extends "base.html" %} {% block title %}Contact us{% endblock %} {% block content %} {% load static %}
Dr.Ramakrishnan,
Alumini Officer.
Indian Institute of Information Technology, Sri City, Chittoor
630 Gnan Marg, Sri City, Satyavedu Mandal
Chittoor District - 517 646, Andhra Pradesh, India
Phone No. +91 73064 73364


{% extends 'base.html' %} {% load static %} {% load commonmark %} {% block title %} Sponsors | {{ block.super }} {% endblock %} {% block content %} {% if sponsors %}
This is a list of the {{ view.camp.title }} sponsors. An event like BornHack can not be built on hard work and good intentions alone - it would simply not have been possible without the financial help from these organisations. Thank you, we are immensely grateful!
{% endif %} {% for sponsor in sponsors %} {% ifchanged sponsor.tier %} {% if forloop.first != True %} {% endif %}{% if sponsor.url %} {% endif %} {% if sponsor.url %} {% endif %} {{ sponsor.description }}
{% if forloop.last == True %}This CFS has not been written yet.
{% else %} {{ camp.call_for_sponsors|trustedcommonmark }} {% endif %} {% endblock %}


| Order ID | Delivery ID | Delivery Address | Delivery State |
|---|---|---|---|
| {{id}} | {{delivery.externalID}} | ul. {{delivery.deliveryAddress.street}} {{delivery.deliveryAddress.house_no}}
, {{delivery.deliveryAddress.city}}
{{delivery.deliveryAddress.post_office}} {{delivery.deliveryAddress.code}} , {{delivery.deliveryAddress.country}} |
{{delivery.state}} |


You have logged into ESP RainMaker.
You can now close this window and continue with the CLI, or check out the
Documentation.
Redirecting to ESP RainMaker Documentation in
seconds.


Constructor
for invoking native methods
(Optional) Can be used to disable adding multiple files
The callback executed when files are selected, set by parent
The callback executed when button pressed, set by parent
(Optional) if needed a logger can be used
String used for control multiple uploads
Native upload button (hidden)
for invoking native methods
Callback executed when the visible button is pressed
should be a mouse click event
Callback which is executed after files from native popup are selected.
change event containing selected files
(Optional) If needed for debugging
Generated using TypeDoc
Upload button component.
As native input elements with type file are diffcult to style, it is common practice to hide them and trigger the needed events manually as it done here. A button is is used for user interaction, next to the hidden input.
@Component({ directives: [UploadButton], }) class UploadComponent { private addCallback: Function = (files: FileList) => {...}; private icon: String = "add-circle"; }
<upload-button [btnCallback]="addCallback" <!-- the callback function executes after adding files --> [btnStyle]="icon" <!-- the ionic-icon name to use for button --> [logCallback]="console.debug"> <!-- (optional) if needed a logger can be set --> [allowMultiple]="false"> <!-- (optional) disable multiple file upload --> </upload-button>


A Georgist argument for the seperation of the factors of production.
A critque of Liberterianism and Anarcho-Capitalism and why corporative opression is no better then goverment opression.
The future of fitness wearables, ENSOLE helps empower athletes across the world. Fitting in the sole of any shoe ENSOLE's cheap price and unique feature set makes it a one of kind product.
With the two premiere business clubs merging together, a new brand image was needed. The new brand image expresses both the professional and creative side of business.
Explore Patagonia PA's new marketing plan. Utilizing the strengths of the brand name and its image, this campaign focuses on community and eco-awarness.


{% if flavor.versions.first.id != versions.first.id %}
There are more recent versions available, than the {{ filter }} versions shown on this page.
Please click here to take a look at all available versions.
{% endif %}
{% for version in versions %}
{% include "includes/download.html" %}
{% endfor %}


Masterclasses
Programs
Challenges
Library
INR 200
Log In
Register
Masterclasses
Programs
Challenges
Library
INR 200


7.15 The smtplib Module
The smtplib module (shown in Example 7-30) provides a Simple Mail Transfer
Protocol (SMTP) client implementation. This protocol is
used to send mail through Unix mail servers.
To read mail, use the poplib or imaplib modules.
Example 7-30. Using the smtplib Module
File: smtplib-example-1.py
import smtplib
import string, sys
HOST = "localhost"
FROM =<EMAIL_ADDRESS>TO =<EMAIL_ADDRESS>SUBJECT = "for your information!"
BODY = "next week: how to fling an otter"
body = string.join((
"From: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT,
"",
BODY), "\r\n")
print body
server = smtplib.SMTP(HOST)
server.sendmail(FROM, [TO], body)
server.quit()
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: for your information!
next week: how to fling an otter
|


SweetFreeStuff.com
///////////////////////////////////////////
Free Subscription to Mens Health Magazine
Posted: 09 Aug 2014 10:21 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Free Subscription to Mens Health Magazine
The post Free Subscription to Mens Health Magazine appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Waffle at Waffle House
Posted: 09 Aug 2014 05:21 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Expires 8/15. Dine-in only. Free Waffle at Waffle House
The post Free Waffle at Waffle House appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Subscription to Tennis Magazine
Posted: 09 Aug 2014 05:00 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Sign up for your completely free subscription. Free Subscription to Tennis
Magazine
The post Free Subscription to Tennis Magazine appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Subscription to Maxim Magazine
Posted: 08 Aug 2014 03:52 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
The post Free Subscription to Maxim Magazine appeared first on
SweetFreeStuff.com.


List of all members.
Public Member Functions |
|
| Asteroid (irr::scene::ISceneNode *node, irr::scene::PointMassAnimator *animator) |
| | Constructor.
|
|
const ObjectType::Enum | getType () const |
| | Returns what type of object this instance is.
|
|
void | collide (const MovingObject *other, const irr::core::vector3df &collisionvector) |
| | Process collisions with another object.
|
Static Protected Attributes |
|
static FSOUND_SAMPLE * | m_HitSound = NULL |
|
static int | m_HitChannel = -1 |
The documentation for this class was generated from the following files:


Add New Store Name: Store Location: Estimated minimum customers per hour: Estimated maximum customers per hour: Estimated average cookie sales per customer: Save and Continue


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
Answer
that provides simplified access for
consumption by a viewEnumParam
that provides simplified access for
consumption by a viewFlatVocabParam
that provides simplified access for
consumption by a viewParam
that provides simplified access for
consumption by a viewQuestion
that provides simplified access for
consumption by a viewQuestionSet
that provides simplified access for
consumption by a viewRecordInstance
that provides simplified access for
consumption by a viewRecordClass
that provides simplified access for
consumption by a viewbqn
and sets its values,
which may be either normal query values if the node is a leaf or the
Answers of its operands if the node is a boolean Question.
WdkModel
that provides simplified access for
consumption by a view
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


# Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""
Code related to files as stored for the sparsezoo as well a interacting with them
such as downloading
"""
import logging
import os
from enum import Enum
from typing import Union
from sparsezoo.objects.base import BaseObject
from sparsezoo.objects.downloadable import Downloadable
from sparsezoo.objects.metadata import ModelMetadata
from sparsezoo.requests import download_get_request
from sparsezoo.utils import create_parent_dirs, download_file
__all__ = ["FileTypes", "File"]
_LOGGER = logging.getLogger(__name__)
[docs]class FileTypes(Enum):
"""
Types of files available in the sparsezoo
"""
CARD = "card"
ONNX = "onnx"
ONNX_GZ = "onnx_gz"
RECIPE = "recipe"
FRAMEWORK = "framework"
DATA_ORIGINALS = "originals"
DATA_INPUTS = "inputs"
DATA_OUTPUTS = "outputs"
DATA_LABELS = "labels"
[docs]class File(BaseObject, Downloadable):
"""
A model repo file.
:param model_metadata: The metadata of the model the file belongs to
:param file_id: Id of the file as stored in the cloud
:param display_name: The file name and extension
:param file_type: The type of file the object represents
:param operator_version: Version of the file such as onnx OPSET for onnx files
:param checkpoint: True if the model is a checkpoint file
(for use with transfer learning flows), False otherwise
:param md5: The md5 hash for the file as stored in the cloud
:param file_size: The size of the file as stored in the cloud
:param downloads: The amount of times a download has been requested for
this file
:param url: The signed url to retrieve the file
:param child_folder_name: A child folder, if any, to store this file under locally
:param override_folder_name: Override for the name of the folder to save
this file under
:param override_parent_path: Path to override the default save path
for where to save the parent folder for this file under
"""
def __init__(
self,
model_metadata: ModelMetadata,
file_id: str,
display_name: str,
file_type: str,
operator_version: Union[str, None],
checkpoint: bool,
md5: str,
file_size: int,
downloads: int,
url: str = None,
child_folder_name: Union[str, None] = None,
override_folder_name: Union[str, None] = None,
override_parent_path: Union[str, None] = None,
**kwargs,
):
folder_name = (
model_metadata.model_id
if not override_folder_name
else override_folder_name
)
if child_folder_name:
folder_name = os.path.join(folder_name, child_folder_name)
super(BaseObject, self).__init__(
folder_name=folder_name,
override_parent_path=override_parent_path,
**kwargs,
)
super(File, self).__init__(**kwargs)
self._model_metadata = model_metadata
self._file_id = file_id
self._display_name = display_name
self._file_type = file_type
self._operator_version = operator_version
self._checkpoint = checkpoint
self._md5 = md5
self._file_size = file_size
self._downloads = downloads
self._url = url
@property
def model_metadata(self) -> ModelMetadata:
"""
:return: The metadata of the model the file belongs to
"""
return self._model_metadata
@property
def file_id(self) -> str:
"""
:return: Id of the file as stored in the cloud
"""
return self._file_id
@property
def display_name(self) -> str:
"""
:return: The file name and extension
"""
return self._display_name
@property
def file_type(self) -> str:
"""
:return: The type of file the object represents
"""
return self._file_type
@property
def file_type_card(self) -> bool:
"""
:return: True if the file type is a card, False otherwise
"""
return self.file_type == FileTypes.CARD.value
@property
def file_type_onnx(self) -> bool:
"""
:return: True if the file type is onnx, False otherwise
"""
return self.file_type == FileTypes.ONNX.value
@property
def file_type_onnx_gz(self) -> bool:
"""
:return: True if the file type is a gzipped onnx, False otherwise
"""
return self.file_type == FileTypes.ONNX_GZ.value
@property
def file_type_recipe(self) -> bool:
"""
:return: True if the file type is a recipe, False otherwise
"""
return self.file_type == FileTypes.RECIPE.value
@property
def file_type_framework(self) -> bool:
"""
:return: True if the file type is a framework file, False otherwise
"""
return self.file_type == FileTypes.FRAMEWORK.value
@property
def file_type_data(self) -> bool:
"""
:return: True if the file type is sample data, False otherwise
"""
return (
self.file_type_data_originals
or self.file_type_data_inputs
or self.file_type_data_outputs
or self.file_type_data_labels
)
@property
def file_type_data_originals(self) -> bool:
"""
:return: True if the file type is the original sample data, False otherwise
"""
return self.file_type == FileTypes.DATA_ORIGINALS.value
@property
def file_type_data_inputs(self) -> bool:
"""
:return: True if the file type is the input sample data, False otherwise
"""
return self.file_type == FileTypes.DATA_INPUTS.value
@property
def file_type_data_outputs(self) -> bool:
"""
:return: True if the file type is the output sample data, False otherwise
"""
return self.file_type == FileTypes.DATA_OUTPUTS.value
@property
def file_type_data_labels(self) -> bool:
"""
:return: True if the file type is the labels sample data, False otherwise
"""
return self.file_type == FileTypes.DATA_LABELS.value
@property
def operator_version(self) -> Union[str, None]:
"""
:return: Version of the file such as onnx OPSET for onnx files
"""
return self._operator_version
@property
def checkpoint(self) -> bool:
"""
:return: True if the model is a checkpoint file
(for use with transfer learning flows), False otherwise
"""
return self._checkpoint
@property
def md5(self) -> str:
"""
:return: The md5 hash for the file as stored in the cloud
"""
return self._md5
@property
def file_size(self) -> int:
"""
:return: The size of the file as stored in the cloud
"""
return self._file_size
@property
def downloads(self) -> int:
"""
:return: The amount of times a download has been requested for this file
"""
return self._downloads
@property
def url(self) -> str:
"""
:return: The signed url to retrieve the file.
"""
return self._url
@property
def path(self) -> str:
"""
:return: The path for where this file is (or can be) downloaded to
"""
return f"{self.dir_path}/{self.display_name}"
@property
def downloaded(self):
"""
:return: True if the file has already been downloaded, False otherwise
"""
return os.path.exists(self.path)
[docs] def downloaded_path(self) -> str:
"""
:return: The local path to the downloaded file.
Returns the same value as path, but if the file hasn't been downloaded
then it will automatically download
"""
self.check_download()
return self.path
[docs] def check_download(
self,
overwrite: bool = False,
refresh_token: bool = False,
show_progress: bool = True,
):
"""
Check if the file has been downloaded, if not then call download()
:param overwrite: True to overwrite any previous file, False otherwise
:param refresh_token: True to refresh the auth token, False otherwise
:param show_progress: True to print tqdm progress, False otherwise
"""
if not self.downloaded or overwrite:
self.download(overwrite, refresh_token, show_progress)
[docs] def download(
self,
overwrite: bool = False,
refresh_token: bool = False,
show_progress: bool = True,
):
"""
Downloads a sparsezoo file.
:param overwrite: True to overwrite any previous file, False otherwise
:param refresh_token: True to refresh the auth token, False otherwise
:param show_progress: True to print tqdm progress, False otherwise
"""
if os.path.exists(self.path) and not overwrite:
_LOGGER.debug(
f"Model file {self.display_name} already exists, "
f"skipping download to {self.path}"
)
return
if not self.url:
_LOGGER.info(
"Getting signed url for "
f"{self.model_metadata.model_id}/{self.display_name}"
)
self._url = self._signed_url(refresh_token)
_LOGGER.info(f"Downloading model file {self.display_name} to {self.path}")
# cleaning up target
try:
os.remove(self.path)
except Exception:
pass
# creating target and downloading
create_parent_dirs(self.path)
download_file(
self.url, self.path, overwrite=overwrite, show_progress=show_progress
)
def _signed_url(
self,
refresh_token: bool = False,
) -> str:
response_json = download_get_request(
args=self.model_metadata,
file_name=self.display_name,
force_token_refresh=refresh_token,
)
return response_json["file"]["url"]


pytheos package¶
Subpackages¶
Submodules¶
pytheos.conversion module¶
-
pytheos.conversion.
moduli_to_velocities
(rho, K_s, G)¶ convert moduli to velocities mainly to support Burnman operations
Parameters: - rho – density in kg/m^3
- v_phi – adiabatic bulk modulus in Pa
- v_s – shear modulus in Pa
Returns: bulk sound speed and shear velocity
-
pytheos.conversion.
velocities_to_moduli
(rho, v_phi, v_s)¶ convert velocities to moduli mainly to support Burnman operations
Parameters: - rho – density in kg/m^3
- v_phi – bulk sound speed in m/s
- v_s – shear velocity in m/s
Returns: K_s and G
-
pytheos.conversion.
vol_mol2uc
(v_mol, z_uc)¶ convert unit cell volume in A^3 to molar volume in m^3/mol
Parameters: - v_mol – molar volume in m^3/mol
- z_uc – number of formula unit in a unit cell (z)
Returns: unit-cell volume in A^3
-
pytheos.conversion.
vol_uc2mol
(v_uc, z_uc)¶ convert unit cell volume in A^3 to molar volume in m^3/mol
Parameters: - v_uc – unit-cell volume in A^3
- z_uc – number of formula unit in a unit cell (z)
Returns: molar volume
pytheos.eqn_anharmonic module¶
-
pytheos.eqn_anharmonic.
zharkov_panh
(v, temp, v0, a0, m, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate pressure from anharmonicity for Zharkov equation the equation is from Dorogokupets 2015
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- a0 – parameter in K-1 for the Zharkov equation
- m – parameter for the Zharkov equation
- n – number of elements in a chemical formula
- z – number of formula unit in a unit cell
- three_r – 3 times gas constant
Returns: anharmonic contribution for pressure in GPa
pytheos.eqn_bm3 module¶
2017/05/03 No need to put isuncertainties because there is no particularly function to be problematic to the functions here.
-
pytheos.eqn_bm3.
bm3_big_F
(p, v, v0)¶ calculate big F for linearlized form not fully tested
Parameters: - p –
- f –
Returns:
-
pytheos.eqn_bm3.
bm3_dPdV
(v, v0, k0, k0p, precision=1e-05)¶ calculate dP/dV for numerical calculation of bulk modulus according to test this differs from analytical result by 1.e-5
Parameters: - v – volume
- v0 – volume at reference conditions
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at different conditions
- precision – precision for numerical calculation (default = 1.e-5*v0)
Returns: dP/dV
-
pytheos.eqn_bm3.
bm3_g
(p, v0, g0, g0p, k0, k0p)¶ calculate shear modulus at given pressure. not fully tested with mdaap.
Parameters: - p – pressure
- v0 – volume at reference condition
- g0 – shear modulus at reference condition
- g0p – pressure derivative of shear modulus at reference condition
- k0 – bulk modulus at reference condition
- k0p – pressure derivative of bulk modulus at reference condition
Returns: shear modulus at high pressure
-
pytheos.eqn_bm3.
bm3_k
(p, v0, k0, k0p)¶ calculate bulk modulus, wrapper for cal_k_bm3 cannot handle uncertainties
Parameters: - p – pressure
- v0 – volume at reference conditions
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at different conditions
Returns: bulk modulus at high pressure
-
pytheos.eqn_bm3.
bm3_k_num
(v, v0, k0, k0p, precision=1e-05)¶ calculate bulk modulus numerically from volume, not pressure according to test this differs from analytical result by 1.e-5
Parameters: - v – volume
- v0 – volume at reference conditions
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at different conditions
- precision – precision for numerical calculation (default = 1.e-5*v0)
Returns: dP/dV
-
pytheos.eqn_bm3.
bm3_p
(v, v0, k0, k0p, p_ref=0.0)¶ calculate pressure from 3rd order Birch-Murnathan equation
Parameters: - v – volume at different pressures
- v0 – volume at reference conditions
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at different conditions
- p_ref – reference pressure (default = 0)
Returns: pressure
-
pytheos.eqn_bm3.
bm3_small_f
(v, v0)¶ calculate finite strain little f for linearized form not fully tested
Parameters: - v – volume
- v0 – volume at reference conditions
Returns: small f
-
pytheos.eqn_bm3.
bm3_v
(p, v0, k0, k0p, p_ref=0.0, min_strain=0.01)¶ find volume at given pressure using brenth in scipy.optimize
Parameters: - p – pressure
- v0 – volume at reference conditions
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at different conditions
- p_ref – reference pressure (default = 0)
- min_strain – minimum strain value to find solution (default = 0.01)
Returns: volume at high pressure
-
pytheos.eqn_bm3.
bm3_v_single
(p, v0, k0, k0p, p_ref=0.0, min_strain=0.01)¶ find volume at given pressure using brenth in scipy.optimize this is for single p value, not vectorized this cannot handle uncertainties
Parameters: - p – pressure
- v0 – volume at reference conditions
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at different conditions
- p_ref – reference pressure (default = 0)
- min_strain – minimum strain value to find solution (default = 0.01)
Returns: volume at high pressure
-
pytheos.eqn_bm3.
cal_big_F
(p, f)¶ calculate finite strain big F for linearized form not fully tested
Parameters: - p – pressure
- f – small f
Returns: big F
-
pytheos.eqn_bm3.
cal_g_bm3
(p, g, k)¶ calculate shear modulus at given pressure
Parameters: - p – pressure
- g – [g0, g0p]
- k – [v0, k0, k0p]
Returns: shear modulus at high pressure
-
pytheos.eqn_bm3.
cal_k_bm3
(p, k)¶ calculate bulk modulus
Parameters: - p – pressure
- k – [v0, k0, k0p]
Returns: bulk modulus at high pressure
-
pytheos.eqn_bm3.
cal_k_bm3_from_v
(v, k)¶
-
pytheos.eqn_bm3.
cal_p_bm3
(v, k, p_ref=0.0)¶ calculate pressure from 3rd order Birch-Murnaghan equation
Parameters: - v – volume at different pressures
- k – [v0, k0, k0p]
- p_ref – reference pressure, default = 0.
Returns: static pressure
-
pytheos.eqn_bm3.
cal_small_f
(v, v0)¶ calculate finite strain little f for linearized form not fully tested
Parameters: - v – volume
- v0 – volume at reference condition
Returns: small f
-
pytheos.eqn_bm3.
cal_v_bm3
(p, k)¶ calculate volume from bm3 equation. wrapper for bm3_v
Parameters: - p – pressure
- k – [v0, k0, k0p]
Returns: volume at high pressure
pytheos.eqn_debye module¶
-
pytheos.eqn_debye.
debye_E
(x)¶ calculate Debye energy using old fortran routine
Params x: Debye x value Returns: Debye energy Note: this is a wraper function (vectorization) for debye_E_single
-
pytheos.eqn_debye.
debye_E_single
(x)¶ calculate Debye energy using old fortran routine
Params x: Debye x value Returns: Debye energy
pytheos.eqn_electronic module¶
-
pytheos.eqn_electronic.
tsuchiya_pel
(v, temp, v0, a, b, c, d, n, z, three_r=24.943379399999998, t_ref=300.0)¶ calculate electronic contributions in pressure for the Tsuchiya equation
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- a – parameter for the Tsuchiya equation
- b – parameter for the Tsuchiya equation
- c – parameter for the Tsuchiya equation
- d – parameter for the Tsuchiya equation
- n – number of atoms in a formula unit
- z – number of formula unit in a unit cell
- t_ref – reference temperature, 300 K
- three_r – 3 times gas constant
Returns: electronic contribution in GPa
Note: n, z, three_r are not used but in there for consistency with other electronic contribution equations
-
pytheos.eqn_electronic.
zharkov_pel
(v, temp, v0, e0, g, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate electronic contributions in pressure for the Zharkov equation the equation can be found in Sokolova and Dorogokupets 2013
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- e0 – parameter in K-1 for the Zharkov equation
- g – parameter for the Zharkov equation
- n – number of atoms in a formula unit
- z – number of formula unit in a unit cell
- t_ref – reference temperature, 300 K
- three_r – 3 times gas constant
Returns: electronic contribution in GPa
pytheos.eqn_hugoniot module¶
-
pytheos.eqn_hugoniot.
hugoniot_p
(rho, rho0, c0, s)¶ calculate pressure along a Hugoniot
Parameters: - rho – density in g/cm^3
- rho0 – density at 1 bar in g/cm^3
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
Returns: pressure in GPa
-
pytheos.eqn_hugoniot.
hugoniot_rho
(p, rho0, c0, s, min_strain=0.01)¶ calculate density in g/cm^3 from a hugoniot curve
Parameters: - p – pressure in GPa
- rho0 – density at 1 bar in g/cm^3
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
- min_strain – defining minimum v/v0 value to search volume for
Returns: density in g/cm^3
Note: this is a wrapper function by vectorizing hugoniot_rho_single
-
pytheos.eqn_hugoniot.
hugoniot_rho_single
(p, rho0, c0, s, min_strain=0.01)¶ calculate density in g/cm^3 from a hugoniot curve
Parameters: - p – pressure in GPa
- rho0 – density at 1 bar in g/cm^3
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
- min_strain – defining minimum v/v0 value to search volume for
Returns: density in g/cm^3
-
pytheos.eqn_hugoniot.
hugoniot_t
(rho, rho0, c0, s, gamma0, q, theta0, n, mass, three_r=24.943379399999998, t_ref=300.0, c_v=0.0)¶ calculate temperature along a hugoniot
Parameters: - rho – density in g/cm^3
- rho0 – density at 1 bar in g/cm^3
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature in K
- n – number of elements in a chemical formula
- mass – molar mass in gram
- three_r – 3 times gas constant. Jamieson modified this value to compensate for mismatches
- t_ref – reference temperature, 300 K
- c_v – heat capacity, see Jamieson 1983 for detail
Returns: temperature along hugoniot
-
pytheos.eqn_hugoniot.
hugoniot_t_single
(rho, rho0, c0, s, gamma0, q, theta0, n, mass, three_r=24.943379399999998, t_ref=300.0, c_v=0.0)¶ internal function to calculate pressure along Hugoniot
Parameters: - rho – density in g/cm^3
- rho0 – density at 1 bar in g/cm^3
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature in K
- n – number of elements in a chemical formula
- mass – molar mass in gram
- three_r – 3 times gas constant. Jamieson modified this value to compensate for mismatches
- t_ref – reference temperature, 300 K
- c_v – heat capacity, see Jamieson 1983 for detail
Returns: temperature along hugoniot
pytheos.eqn_jamieson module¶
- 2017/05/18 At the moment the functions here are not being revealed
- to the users. I need to check if any of these functions are being called from other functions in pytheos.
-
pytheos.eqn_jamieson.
hugoniot_p_nlin
(rho, rho0, a, b, c)¶ calculate pressure along a Hugoniot throug nonlinear equations presented in Jameison 1982
Parameters: - rho – density in g/cm^3
- rho0 – density at 1 bar in g/cm^3
- a – prefactor for nonlinear fit of Hugoniot data
- b – prefactor for nonlinear fit of Hugoniot data
- c – prefactor for nonlinear fit of Hugoniot data
Returns: pressure along Hugoniot in GPa
-
pytheos.eqn_jamieson.
jamieson_pst
(v, v0, c0, s, gamma0, q, theta0, n, z, mass, c_v, three_r=24.943379399999998, t_ref=300.0)¶ calculate static pressure at 300 K from Hugoniot data using the constq formulation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature in K
- n – number of elements in a chemical formula
- z – number of formula unit in a unit cell
- mass – molar mass in gram
- c_v – heat capacity
- three_r – 3 times gas constant. Jamieson modified this value to compensate for mismatches
- t_ref – reference temperature, 300 K
Returns: static pressure in GPa
Note: 2017/05/18 I am unsure if this is actually being used in pytheos
-
pytheos.eqn_jamieson.
jamieson_pth
(v, v0, c0, s, gamma0, q, theta0, n, z, mass, c_v, three_r=24.943379399999998, t_ref=300.0)¶ calculate thermal pressure from Hugoniot data using the constq formulation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- c0 – velocity at 1 bar in km/s
- s – slope of the velocity change
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature in K
- n – number of elements in a chemical formula
- z – number of formula unit in a unit cell
- mass – molar mass in gram
- c_v – heat capacity
- three_r – 3 times gas constant. Jamieson modified this value to compensate for mismatches
- t_ref – reference temperature, 300 K
Returns: static pressure in GPa
Note: 2017/05/18 I am unsure if this is actually being used in pytheos
pytheos.eqn_kunc module¶
2017/05/03 kunc_k is not available yet because I did not derive analytical form yet.
-
pytheos.eqn_kunc.
cal_p_kunc
(v, k, order=5, uncertainties=True)¶ calculate Kunc EOS, see Dorogokupets2015 for functional form
Parameters: - v – unit-cell volume in A^3
- k – [v0, k0, k0p]
- order – order for the Kunc equation
- uncertainties – use of uncertainties package
Returns: pressure in GPa
Note: internal function
-
pytheos.eqn_kunc.
kunc_dPdV
(v, v0, k0, k0p, order=5, precision=1e-05)¶ calculate dP/dV for numerical calculation of bulk modulus according to test this differs from analytical result by 1.e-5
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- precision – precision for numerical calc (default = 1.e-5 * v0)
Returns: dP/dV
-
pytheos.eqn_kunc.
kunc_k_num
(v, v0, k0, k0p, order=5, precision=1e-05)¶ calculate bulk modulus numerically from volume, not pressure according to test this differs from analytical result by 1.e-5
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- precision – precision for numerical calc (default = 1.e-5 * v0)
Returns: bulk modulus
-
pytheos.eqn_kunc.
kunc_p
(v, v0, k0, k0p, order=5)¶ calculate Kunc EOS see Dorogokupets 2015 for detail
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- order – order for the Kunc equation
Returns: pressure in GPa
-
pytheos.eqn_kunc.
kunc_v
(p, v0, k0, k0p, order=5, min_strain=0.01)¶ find volume at given pressure using brenth in scipy.optimize
Parameters: - p – pressure in GPa
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- order – order of Kunc function
- min_strain – defining minimum v/v0 value to search volume for
Returns: unit-cell volume at high pressure in GPa
Note: a wrapper function vectorizing kunc_v_single
-
pytheos.eqn_kunc.
kunc_v_single
(p, v0, k0, k0p, order=5, min_strain=0.01)¶ find volume at given pressure using brenth in scipy.optimize
Parameters: - p – pressure in GPa
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- order – order of Kunc function
- min_strain – defining minimum v/v0 value to search volume for
Returns: unit-cell volume at high pressure in GPa
pytheos.eqn_therm module¶
-
pytheos.eqn_therm.
alphakt_pth
(v, temp, v0, alpha0, k0, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate thermal pressure from thermal expansion and bulk modulus
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- alpha0 – thermal expansion parameter at 1 bar in K-1
- k0 – bulk modulus in GPa
- n – number of atoms in a formula unit
- z – number of formula unit in a unit cell
- t_ref – reference temperature
- three_r – 3R in case adjustment is needed
Returns: thermal pressure in GPa
pytheos.eqn_therm_Dorogokupets2007 module¶
-
pytheos.eqn_therm_Dorogokupets2007.
altshuler_debyetemp
(v, v0, gamma0, gamma_inf, beta, theta0)¶ calculate Debye temperature for Altshuler equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- gamma_inf – Gruneisen parameter at infinite pressure
- beta – volume dependence of Gruneisen parameter
- theta0 – Debye temperature at 1 bar in K
Returns: Debye temperature in K
-
pytheos.eqn_therm_Dorogokupets2007.
altshuler_grun
(v, v0, gamma0, gamma_inf, beta)¶ calculate Gruneisen parameter for Altshuler equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- gamma_inf – Gruneisen parameter at infinite pressure
- beta – volume dependence of Gruneisen parameter
Returns: Gruneisen parameter
-
pytheos.eqn_therm_Dorogokupets2007.
dorogokupets2007_pth
(v, temp, v0, gamma0, gamma_inf, beta, theta0, n, z, three_r=24.943379399999998, t_ref=300.0)¶ calculate thermal pressure for Dorogokupets 2007 EOS
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- gamma_inf – Gruneisen parameter at infinite pressure
- beta – volume dependence of Gruneisen parameter
- theta0 – Debye temperature at 1 bar in K
- n – number of elements in a chemical formula
- z – number of formula unit in a unit cell
- three_r – 3 times gas constant. Jamieson modified this value to compensate for mismatches
- t_ref – reference temperature, 300 K
Returns: thermal pressure in GPa
pytheos.eqn_therm_Dorogokupets2015 module¶
-
pytheos.eqn_therm_Dorogokupets2015.
dorogokupets2015_pth
(v, temp, v0, gamma0, gamma_inf, beta, theta01, m1, theta02, m2, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate thermal pressure for Dorogokupets 2015 EOS
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- gamma_inf – Gruneisen parameter at infinite pressure
- beta – volume dependence of Gruneisen parameter
- theta01 – Debye temperature at 1 bar in K
- m1 – weighting factor, see Dorogokupets 2015 for detail
- theta02 – Debye temperature at 1 bar in K
- m2 – weighting factor, see Dorogokupets 2015 for detail
- n – number of elements in a chemical formula
- z – number of formula unit in a unit cell
- three_r – 3 times gas constant. Jamieson modified this value to compensate for mismatches
- t_ref – reference temperature, 300 K
Returns: thermal pressure in GPa
pytheos.eqn_therm_Speziale module¶
2017/05/03 I believe now I settle down with the uncertainties issue through isuncertainties check.
-
pytheos.eqn_therm_Speziale.
integrate_gamma
(v, v0, gamma0, q0, q1, theta0)¶ internal function to calculate Debye temperature
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q0 – logarithmic derivative of Gruneisen parameter
- q1 – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature at 1 bar in K
Returns: Debye temperature in K
-
pytheos.eqn_therm_Speziale.
speziale_debyetemp
(v, v0, gamma0, q0, q1, theta0)¶ calculate Debye temperature for the Speziale equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q0 – logarithmic derivative of Gruneisen parameter
- q1 – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature at 1 bar in K
Returns: Debye temperature in K
-
pytheos.eqn_therm_Speziale.
speziale_grun
(v, v0, gamma0, q0, q1)¶ calculate Gruneisen parameter for the Speziale equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q0 – logarithmic derivative of Gruneisen parameter
- q1 – logarithmic derivative of Gruneisen parameter
Returns: Gruneisen parameter
-
pytheos.eqn_therm_Speziale.
speziale_pth
(v, temp, v0, gamma0, q0, q1, theta0, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate thermal pressure for the Speziale equation
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q0 – logarithmic derivative of Gruneisen parameter
- q1 – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature at 1 bar in K
- n – number of atoms in a formula unit
- z – number of formula unit in a unit cell
- t_ref – reference temperature
- three_r – 3R in case adjustment is needed
Returns: thermal pressure in GPa
pytheos.eqn_therm_Tange module¶
2017/05/03 I believe now I settle down with the uncertainties issue through isuncertainties check.
-
pytheos.eqn_therm_Tange.
tange_debyetemp
(v, v0, gamma0, a, b, theta0)¶ calculate Debye temperature for the Tange equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- a – volume-independent adjustable parameters
- b – volume-independent adjustable parameters
- theta0 – Debye temperature at 1 bar in K
Returns: Debye temperature in K
-
pytheos.eqn_therm_Tange.
tange_grun
(v, v0, gamma0, a, b)¶ calculate Gruneisen parameter for the Tange equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- a – volume-independent adjustable parameters
- b – volume-independent adjustable parameters
Returns: Gruneisen parameter
-
pytheos.eqn_therm_Tange.
tange_pth
(v, temp, v0, gamma0, a, b, theta0, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate thermal pressure for the Tange equation
Parameters: - v – unit-cell volume in A^3
- temp – temperature in K
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- a – volume-independent adjustable parameters
- b – volume-independent adjustable parameters
- theta0 – Debye temperature at 1 bar in K
- n – number of atoms in a formula unit
- z – number of formula unit in a unit cell
- t_ref – reference temperature
- three_r – 3R in case adjustment is needed
Returns: thermal pressure in GPa
pytheos.eqn_therm_constq module¶
2017/05/03 I believe now I settle down with the uncertainties issue through isuncertainties check.
-
pytheos.eqn_therm_constq.
constq_debyetemp
(v, v0, gamma0, q, theta0)¶ calculate Debye temperature for constant q
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature at 1 bar
Returns: Debye temperature in K
-
pytheos.eqn_therm_constq.
constq_grun
(v, v0, gamma0, q)¶ calculate Gruneisen parameter for constant q
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Grunseinen parameter
Returns: Gruneisen parameter at a given volume
-
pytheos.eqn_therm_constq.
constq_pth
(v, temp, v0, gamma0, q, theta0, n, z, t_ref=300.0, three_r=24.943379399999998)¶ calculate thermal pressure for constant q
Parameters: - v – unit-cell volume in A^3
- temp – temperature
- v0 – unit-cell volume in A^3 at 1 bar
- gamma0 – Gruneisen parameter at 1 bar
- q – logarithmic derivative of Gruneisen parameter
- theta0 – Debye temperature in K
- n – number of atoms in a formula unit
- z – number of formula unit in a unit cell
- t_ref – reference temperature
- three_r – 3R in case adjustment is needed
Returns: thermal pressure in GPa
pytheos.eqn_vinet module¶
2017/05/03 Solve uncertainties problem by adding new function isuncertainties
-
pytheos.eqn_vinet.
cal_k_vinet
(p, k)¶ calculate bulk modulus in GPa
Parameters: - p – pressure in GPa
- k – [v0, k0, k0p]
Returns: bulk modulus at high pressure in GPa
-
pytheos.eqn_vinet.
cal_k_vinet_from_v
(v, v0, k0, k0p)¶ calculate bulk modulus in GPa
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
Returns: bulk modulus at high pressure in GPa
-
pytheos.eqn_vinet.
cal_p_vinet
(v, k, uncertainties=True)¶ calculate pressure from vinet equation
Parameters: - v – volume at different pressures
- k – [v0, k0, k0p]
Returns: static pressure
Note: internal function
-
pytheos.eqn_vinet.
cal_v_vinet
(p, k)¶ calculate volume from vinet equation. wrapper for vinet_v
Parameters: - p – pressure in GPa
- k – [v0, k0, k0p]
Returns: unit cell volume at high pressure in A^3
Note: internal function
-
pytheos.eqn_vinet.
vinet_dPdV
(v, v0, k0, k0p, precision=1e-05)¶ calculate dP/dV for numerical calculation of bulk modulus according to test this differs from analytical result by 1.e-5
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- precision – precision for numerical calc (default = 1.e-5 * v0)
Returns: dP/dV
-
pytheos.eqn_vinet.
vinet_k
(p, v0, k0, k0p, numerical=False)¶ calculate bulk modulus, wrapper for cal_k_vinet cannot handle uncertainties
Parameters: - p – pressure in GPa
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
Returns: bulk modulus at high pressure in GPa
-
pytheos.eqn_vinet.
vinet_k_num
(v, v0, k0, k0p, precision=1e-05)¶ calculate bulk modulus numerically from volume, not pressure according to test this differs from analytical result by 1.e-5
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- precision – precision for numerical calc (default = 1.e-5 * v0)
Returns: dP/dV
-
pytheos.eqn_vinet.
vinet_p
(v, v0, k0, k0p)¶ calculate pressure from vinet equation
Parameters: - v – unit-cell volume in A^3
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
Returns: pressure in GPa
-
pytheos.eqn_vinet.
vinet_v
(p, v0, k0, k0p, min_strain=0.01)¶ find volume at given pressure
Parameters: - p – pressure in GPa
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- min_strain – defining minimum v/v0 value to search volume for
Returns: unit cell volume at high pressure in A^3
Note: wrapper function vetorizing vinet_v_single
-
pytheos.eqn_vinet.
vinet_v_single
(p, v0, k0, k0p, min_strain=0.01)¶ find volume at given pressure using brenth in scipy.optimize this is for single p value, not vectorized
Parameters: - p – pressure in GPa
- v0 – unit-cell volume in A^3 at 1 bar
- k0 – bulk modulus at reference conditions
- k0p – pressure derivative of bulk modulus at reference conditions
- min_strain – defining minimum v/v0 value to search volume for
Returns: unit cell volume at high pressure in A^3
pytheos.etc module¶
-
pytheos.etc.
isuncertainties
(arg_list)¶ check if the input list contains any elements with uncertainties class
Parameters: arg_list – list of arguments Returns: True/False
pytheos.fit_anharmonic module¶
-
class
pytheos.fit_anharmonic.
ZharkovAnhModel
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘a0’, ‘m’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Zharkov anharmonic fitting
pytheos.fit_electronic module¶
-
class
pytheos.fit_electronic.
ZharkovElecModel
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘e0’, ‘g’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Zharkov electronic contribution fitting
pytheos.fit_static module¶
-
class
pytheos.fit_static.
BM3Model
(independent_vars=[‘v’], param_names=[‘v0’, ‘k0’, ‘k0p’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for BM3 fitting
-
class
pytheos.fit_static.
KuncModel
(independent_vars=[‘v’], param_names=[‘v0’, ‘k0’, ‘k0p’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Kunc fitting
-
class
pytheos.fit_static.
VinetModel
(independent_vars=[‘v’], param_names=[‘v0’, ‘k0’, ‘k0p’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Vinet fitting
pytheos.fit_thermal module¶
-
class
pytheos.fit_thermal.
ConstqModel
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘gamma0’, ‘q’, ‘theta0’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Constant Q model fitting
-
class
pytheos.fit_thermal.
Dorogokupets2007Model
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘gamma0’, ‘gamma_inf’, ‘beta’, ‘theta0’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Dorogokupets2007 model fitting
-
class
pytheos.fit_thermal.
Dorogokupets2015Model
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘gamma0’, ‘gamma_inf’, ‘beta’, ‘theta01’, ‘m1’, ‘theta02’, ‘m2’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Dorogokupets2015 model fitting
-
class
pytheos.fit_thermal.
SpezialeModel
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘gamma0’, ‘q0’, ‘q1’, ‘theta0’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Speziale model fitting
-
class
pytheos.fit_thermal.
TangeModel
(n, z, independent_vars=[‘v’, ‘temp’], param_names=[‘v0’, ‘gamma0’, ‘a’, ‘b’, ‘theta0’], prefix=”, missing=None, name=None, **kwargs)¶ Bases:
lmfit.model.Model
lmfit Model class for Tange model fitting
Module contents¶
PythEOS¶
PythEOS is an open source python toolbox for equation of state (EOS). It includes: - a range of different equations - EOS fitting tools - a range of pressure scales
Some important motivations are: - reproducible error propagation for EOS - flexible EOS fitting with a wide range of combinations of static, thermal, electronic, and anharmonic effects - reliable conversion of pressure scale
Notations
| param n: | number of elements in a chemical formula |
|---|---|
| param z: | number of formula unit in a unit cell |
| param m: | molar mass in gram |
| param p: | pressure in GPa |
| param v: | unit-cell volume in A^3 |
| param temp: | temperature in K |
| param rho: | density in g/cm^3 |
| param k0: | bulk modulus at reference conditions |
| param k0p: | pressure derivative of bulk modulus at reference conditions |
| param c0: | velocity at 1 bar in km/s |
| param s: | slope of the velocity change |
| param rho0: | density at 1 bar in g/cm^3 |
| param v0: | unit-cell volume in A^3 at 1 bar |
| param e0: | parameter in K-1 for the Zharkov equation |
| param g: | parameter for the Zharkov equation |
| param gamma0: | Gruneisen parameter at 1 bar |
| param q: | logarithmic derivative of Gruneisen parameter |
| param theta0: | Debye temperature in K |
| param t_ref: | reference temperature, 300 K |
| param three_r: | 3 times gas constant. Jamieson modified this value to compensate for mismatches |
| param c_v: | heat capacity |
| param min_strain: | |
| defining minimum v/v0 value to search volume for | |
| param params_hugoniot: | |
| hugoniot parameters. [rho0 in g/cm3, c0 in km/s, s] for linear case and [rho0 in g/cm3, a in km/s, b, c in s/km] for non-linear case. See Jamieson for detail. | |
| param params_therm: | |
| thermal parameters for the constq equations [v0 in A3, gamma0, q, theta0 in K] | |
| param c_v: | heat capacity for hugoniot temperature calculation |
| param nonlinear: | |
| nonlinear Us-Up fit particularly for Jamieson’s gold scale | |
| param reference: | |
| reference for the EOS |


Hello, so nice of you to stop by. As you may have guessed by now, my name is Steven Gaffin and I love designing for web and print. I graduated from Chattanooga State Community College in May of 2011 with an Associates Degree in Graphic Design. My educational experience along with my eager love for all things design plays a major role in my work. I see one of my major strengths being my ability to jump easily from being a designer, to a coder, and to a creative thinker. This essential skill makes life easier as a designer and developer.
User Experience / Web Development
HTML5 / CSS / SEO / jQuery / WordPress
Adobe Creative Suite / Typography
My interest in graphic design arose when I was a sophomore in high school. Two friends of mine took me under their wing and taught me the basics about graphic design, web development, and technology. Since then, I have been striving to learn as much as I can about design and web development.


Build + Run
Format Code
The source code of try-haxe is available on GitHub.
Try Haxe - The Haxe Playground
Haxe is an awesome language which compiles to JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash and allows access to each platform native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpreted mode. It thus allows to write applications that target native iOS, Android but also runs in browsers (HTML5), servers and desktops (Mac, PC or Linux).The source code of try-haxe is available on GitHub.
Disclaimer: The code you enter on Try-Haxe is compiled and saved on our servers.


Excel To College
Free Tution NYC Excelsior scholarship
Free Tution NYC
Search Results in Slider View:
Go to Map View
Stony Brook University
Suffolk county community college
Farmingdale State University
St. Johns University
Empire State College
Go to chatroom