Anyone looked at connecting one of these CO2 sensors to say an EmonTH or TX? Would rather a TH but I suspect it will need a 5v supply as the batteries may go really quickly without. There is some Arduino code so I am guessing it should be pretty simple.
https://digitalmeans.co.uk/shop/co2_gas_sensor-analog-mg811
Re: CO2 Sensor mg-811
You don't say what you plan to monitor or what change you are looking for. Assuming you are looking for background C02 levels
Having a quick look at the sensitivity graph would appear to show that the sensor only really becomes sensitive to CO2 at concentrations about 400ppm. Given that current average CO2 concentrations are a little lower than that, if you are just looking to see atmospheric variations in CO2 levels you are unlikely to see any variation. So whilst you might read some data, getting data that means something out of the device might be more tricky!
There are at least 2 groups working on this with the Air Quality Egg (available from the OpenEnergyMonitor Shop shipping a Nanode/Arduino Based solution, and Airpi doing a Raspberry Pi based version. At least with both of these you are joining a community that can learn together. Both these devices require you have an always on power supply to warm the sensors, they aren't going to work for very long on batteries.
Re: CO2 Sensor mg-811
Ok Thanks. Yes it is internal / MHRVS concentrations I am interested in. I'll look at those projects, thanks. I had realised that battery powered was not an option for that reason.
Cheers
Re: CO2 Sensor mg-811
Bit more research! The Air Quality Egg is not currently available and the airpi does not have a CO2 solution.
Acceptable internal CO2 levels it seems, are around the 1000-1500ppm so this device should be able to measure it adequately. So could it be hooked to a EmonTH (allowing for the need for a constant power supply)? My electronics and low level device interface knowledge is a bit thin!
If it could, there is a gap in the market for a cheap CO2 monitor!
Re: CO2 Sensor mg-811
Being able to measure it, and being able to measure it accurately are two separate things.
If you look at the sample code it contains the following three phrases:
"This piece of source code is supposed to be used as a demostration ONLY. More sophisticated calibration is required for industrial field application."
"//two points are taken from the curve.
//with these two points, a line is formed which is
//"approximately equivalent" to the original curve."
"//These two values differ from sensor to sensor. user should derermine this value."
i.e. you need to calibrate each sensor
There also appears to be no correction for temperature or humidity.
So if you are only looking for a trend, rather than an absolute value, it will do it.
On getting the data into emoncms as there is code for the arduino, I'd suggest connecting the sensor up to an arduino and using that. Looking at the arduino code it outputs variable called "percentage" ( which is actually a ppm). So you could look at some of the code examples on github.com/openenergymonitor on how to package up a variable into a URL to send to emoncm.
Re: CO2 Sensor mg-811
Carbon Coop that we've been working with are also keen to include CO2 monitoring as part of air quality monitoring inside the houses they are retrofitting. I think Matt looked at the MG 811, would be great to hear if you get it working, it seems that one of the main issues from a measurement accuracy point of view is that they are un-calibrated, Carbon Coop mentioned the possibility of getting them tested in a lab, but as of yet we haven't progressed on it.
Re: CO2 Sensor mg-811
I think this one I am looking at has some sort of gain on it so you set it to the outside background CO2 level and use that as a calibration. When external CO2 is around 400ppm and inside you are interested when it gets above 1500ppm the lack of absolute calibration does not matter. Order of magnitude is fine for simply monitoring internal levels to determine if, for instance, the MVHR needs to be run at a higher rate.
@ukmoose, the key statement in that code is 'industrial field' I simply want an idea as to how high the concentration is for internal air quality purposes. If the error was 10% it would not really matter.
So *could* the emonTH handle it (with a power supply)?
Re: CO2 Sensor mg-811
Hi,
Any return on experience concerning the usage of this CO2 sensor ?
Eric
Re: CO2 Sensor mg-811
The easiest way would be to use a 'commercial' off the shelf sensor. They self calibrate, just power them up (usually 24vAC/DC) and over about a few weeks they self calibrate themselves. They essentially all use the same sensor hardware from Senseair.
They come with a 0-10vdc or 4-20mA output to give you your reading. Just use resistor divider network to get you down to 0-5v and a small cap to dampen the signal a little and you can read the value and convert accordingly using the ADC. This is pretty much what the commercial controllers do but with a few added features to protect the inputs from muppets connecting stuff up wrong!
Most are setup off the shelf to read 0 - 2000ppm. Fresh air is usually around 400-450ppm.
I have a number of faulty CO2 sensors here that I am slowly having to replace on a project where they are used to control natural ventilation in school classrooms so if anyone wants one to have a poke around with, PM me. They also have a UART on the board but I wasn't quite sure how to talk to it so it may actually be possible to fix them.
Oh as a bonus they also read temperature too.
Re: CO2 Sensor mg-811
Hi,
Why not use an open source HW board like this one :
http://www.dfrobot.com/index.php?route=product/product&product_id=1023
Eric
Re: CO2 Sensor mg-811
Hi,
we are starting energy management project in Latvia where we will monitor energy and water consumption in schools. We are planning to use EMON stuff for monitoring temperature and use of electricity for different devices.
Training of personal and pupil about right ventilation habits in classrooms we want to base on measurements of quality of air in the class. Window and doors should be opened when quality of air is not good and the other way around.
It would be great if we could use wireless sensors for temperature, CO2 and current measurements using EMON TX or EMON TH and posting the data via RPI into CMS. With such a solution we could create an warning when the air quality is bad - OPEN WINDOW/DOORS or something similar... But it seems there is not a ready solution for that...
Does anybody has an idea how we could solve our need for CO2 data and sending it to EMONCMS?
Re: CO2 Sensor mg-811
Hi,
In theory, you can do it easily. You have to connect the analog output of a CO2 sensor to the emonTX input and then write a sketch that will read the input. See an example here
I'm planning to try it in the coming months with one of those sensors :
http://www.dfrobot.com/index.php?route=product/product&product_id=1023
http://sandboxelectronics.com/?product=mg-811-co2-gas-sensor-module
http://www.co2meter.com/collections/co2-sensors/products/k-30-co2-sensor...
Take care of the calibration phase which is very important when measuring CO2.
I will give feedbacks when done.
Regards,
Eric
Re: CO2 Sensor mg-811
Thanks for your reply,
As I got it from a forum OEM guys have some problems with CO2 sensors...
I have a problem to write a sketch... I can do just copy/paste and connect a wire:) I will wait for a news
Best Regards
ratniks
Re: CO2 Sensor mg-811
Can you tell us more ?
Re: CO2 Sensor mg-811
The SenseAir K-30 seems to be a good sensor, not cheap though. www.senseair.se $85 at www.co2meter.com
Re: CO2 Sensor mg-811
Anyone completed integration of CO2 sensor with OEM ?
Re: CO2 Sensor mg-811
Anyone interested in a "groupbuy" for the CO2 sensor from SenseAir?
The distributor in The Netherlands is offering these prices:
Art. 030-8-0006 CO2 Engine K30 STA € 105 excluding VAT
1 - 5 : € 105
5 - 25: € 95
25 - 100: € 85
>100: € 75
Re: CO2 Sensor mg-811
We have been using for 1 year these sensors:
http://www.figaro.co.jp/en/product/sensor/application/air-quality-control/
Mainly there are 2 technologies:
Solid Electrolitic technology (http://www.figaro.co.jp/en/product/entry/cdm4161a.html) About 50 €
Adv: Really cheap, good accuracy (comparing with professional metering +- 100 ppm about 10%, good enough for buildings), 300 mW consumption.
Cons: 2 hour warming before reading, sensor saturation in some years (unpredictable running)
Infrared technology (http://www.figaro.co.jp/en/topic/docs/20120412111228_39.pdf) Like Senseair About 80€
Adv: 2% of accuracy
Cons: 2 min warming before reading, not very cheap.
Recommended shop: http://www.co2meter.com/
Finally we have decided to use Senseair S8.
It is very easy to integrate in emonTH, it has its own arduino library.
Good luck!
Re: CO2 Sensor mg-811
We have been using for 1 year these sensors:
http://www.figaro.co.jp/en/product/sensor/application/air-quality-control/
Mainly there are 2 technologies:
Solid Electrolitic technology (http://www.figaro.co.jp/en/product/entry/cdm4161a.html) About 50 €
Adv: Really cheap, good accuracy (comparing with professional metering +- 100 ppm about 10%, good enough for buildings), 300 mW consumption.
Cons: 2 hour warming before reading, sensor saturation in some years (unpredictable running)
Infrared technology (http://www.figaro.co.jp/en/topic/docs/20120412111228_39.pdf) Like Senseair About 80€
Adv: 2% of accuracy
Cons: 2 min warming before reading, not very cheap.
Recommended shop: http://www.co2meter.com/
Finally we have decided to use Senseair S8.
It is very easy to integrate in emonTH, it has its own arduino library.
Good luck!


|
package tests
import (
"encoding/base64"
"encoding/json"
"fmt"
"github.com/verdverm/frisby"
)
|
common constants used by REST API tests
|
const (
apiURL = "http://localhost:8080/api/v1/"
contentTypeHeader = "Content-Type"
contentLengthHeader = "Content-Length"
authHeaderName = "x-rh-identity"
|
ContentTypeJSON represents MIME type for JSON format
|
ContentTypeJSON = "application/json; charset=utf-8"
|
ContentTypeText represents MIME type for plain text format
|
ContentTypeText = "text/plain; charset=utf-8"
|
unknownOrganizationID represents ID of inknown organization
|
unknownOrganizationID = "100000"
knownClusterForOrganization1 = "00000000-0000-0000-0000-000000000000"
knownCluster2ForOrganization1 = "00000000-0000-0000-ffff-000000000000"
knownCluster3ForOrganization1 = "00000000-0000-0000-0000-ffffffffffff"
unknownClusterForOrganization1 = "00000000-0000-0000-0000-000000000001"
)
|
StatusOnlyResponse represents response containing just a status
|
type StatusOnlyResponse struct {
Status string `json:"status"`
}
|
list of known organizations that are stored in test database
|
var knownOrganizations = [ ] int { 1 , 2 , 3 , 4 }
|
list of unknown organizations that are not stored in test database
|
var unknownOrganizations = [ ] int { 5 , 6 , 7 , 8 }
|
list of improper organization IDs
|
var improperOrganizations = [ ] int { - 1000 , - 1 , 0 }
|
user account number
|
const accountNumber = "42"
|
setAuthHeaderForOrganization set authorization header to request
|
func setAuthHeaderForOrganization ( f * frisby . Frisby , orgID int ) {
plainHeader := fmt . Sprintf ( "{\"identity\": {\"internal\": {\"org_id\": \"%d\"}, \"account_number\":\"%s\"}}" , orgID , accountNumber )
encodedHeader := base64 . StdEncoding . EncodeToString ( [ ] byte ( plainHeader ) )
f . SetHeader ( authHeaderName , encodedHeader )
}
|
setAuthHeader set authorization header to request for organization 1
|
func setAuthHeader ( f * frisby . Frisby ) {
setAuthHeaderForOrganization ( f , 1 )
}
|
readStatusFromResponse reads and parses status from response body
|
func readStatusFromResponse ( f * frisby . Frisby ) StatusOnlyResponse {
response := StatusOnlyResponse { }
text , err := f . Resp . Content ( )
if err != nil {
f . AddError ( err . Error ( ) )
} else {
err := json . Unmarshal ( text , & response )
if err != nil {
f . AddError ( err . Error ( ) )
}
}
return response
}
|
sendAndExpectStatus sends the request to the server and checks whether expected HTTP code (status) is returned
|
func sendAndExpectStatus ( f * frisby . Frisby , expectedStatus int ) {
f . Send ( )
f . ExpectStatus ( expectedStatus )
f . PrintReport ( )
}
|
checkGetEndpointByOtherMethods checks whether a 'GET' endpoint respond correctly if other HTTP methods are used
|
func checkGetEndpointByOtherMethods ( endpoint string , includingOptions bool ) {
f := frisby . Create ( "Check the end point " + endpoint + " with wrong method: POST" ) . Post ( endpoint )
sendAndExpectStatus ( f , 405 )
f = frisby . Create ( "Check the entry point " + endpoint + " with wrong method: PUT" ) . Put ( endpoint )
sendAndExpectStatus ( f , 405 )
f = frisby . Create ( "Check the entry point " + endpoint + " with wrong method: DELETE" ) . Delete ( endpoint )
sendAndExpectStatus ( f , 405 )
f = frisby . Create ( "Check the entry point " + endpoint + " with wrong method: PATCH" ) . Patch ( endpoint )
sendAndExpectStatus ( f , 405 )
f = frisby . Create ( "Check the entry point " + endpoint + " with wrong method: HEAD" ) . Head ( endpoint )
sendAndExpectStatus ( f , 405 )
|
some endpoints accepts OPTIONS method together with GET one, so this check is fully optional
|
if includingOptions {
f = frisby . Create ( "Check the entry point " + endpoint + " with wrong method: OPTIONS" ) . Options ( endpoint )
sendAndExpectStatus ( f , 405 )
}
}
|
checkOkStatusResponse tests whether the response (JSON) contains status attribute set to 'ok'
|
func checkOkStatusResponse ( f * frisby . Frisby , response ClustersResponse ) {
if response . Status != "ok" {
f . AddError ( fmt . Sprintf ( "Expected status is 'ok', but got '%s' instead" , response . Status ) )
}
}
|
checkErrorStatusResponse tests whether the response (JSON) contains status attribute not set to 'ok'
|
func checkErrorStatusResponse ( f * frisby . Frisby , response StatusOnlyResponse ) {
if response . Status == "ok" {
f . AddError ( fmt . Sprintf ( "Expected error status, but got '%s' instead" , response . Status ) )
}
}
|


Prominent Gauteng judge Willem van der Linde dies suddenly
by Kaveel SinghProminent judge Willem van der Linde, 63, died on Saturday after collapsing at gym, according to SA judiciary spokesperson Nathi Mncube.
Judge President of the Gauteng Division of the High Court, Dunstan Mlambo, also passed his condolences along to the family and friends of Van der Linde.
"The judges and staff of the Gauteng division were shocked to learn of the sudden and untimely death of Judge van der Linde."
Commenting on his passing, Mlambo commended Van der Linde and said: "He was a committed jurist, a pillar of strength at the court".
Van der Linde was appointed to the High Court in 2015. At the time, News24 reported that he conceded to joining Ruiterwag – the youth wing of the Afrikaner Broederbond – when he was a student.
He said it took him too long to absorb the fact that it was only white and male, and stayed in the group for 14 years.
"I stayed too long in it. I should have resigned," he said at the time.
Extensive experience
Prior to his elevation to the Bench, he served as an advocate from 1983, taking silk in 1996.
He was a graduate of the University of Port Elizabeth (now Nelson Mandela University), where he obtained his law degrees.
He had extensive experience as a commercial litigator, including in the specialist areas of insurance and construction-related litigation.
In a statement, Mncube said that as a judicial officer, Van der Linde was described as "well-prepared – someone who listened patiently and politely, but also dealt decisively with counsel on both sides appearing before him".
"He had a commanding judicial presence and demonstrated an acute grasp of the issues. Judge van der Linde’s loss will be deeply felt by his colleagues and the staff in the Gauteng Division. We extend our heartfelt condolences to his wife Isabella, his children, family and friends."
Mncube said details of his funeral will be released in due course.


A site becomes orphaned when it can no longer be accessed from any project.
To assign orphan sites to a project, go to the project's detail page and click on '{{ assignSitesLabel }}' in the list of actions on the right.
Displaying {{ pageSize }} of all {{ totalModels }} orphaned sites.


{% extends "base.html" %} {% block content %} Sorry! You're not currently logged in. Please Login First {% endblock %}


- data() - Static method in class controllers.Application
-
Loads the raw data page, displaying all the raw data from the sensors (light, humidity...).
- data() - Static method in class controllers.BasicEventController
-
Displays data about the basic events that occurred.
- Data - Class in model.json
-
Bean to store generic data generated by a sensor.
- Data() - Constructor for class model.json.Data
-
- data - Variable in class model.json.DataNode
-
The list containing the data to be converted in JSON or from JSON.
- DataNode - Class in model.json
-
Node storing data collected from a sensor to adapt it to the JSON parser.
- DataNode() - Constructor for class model.json.DataNode
-
- delta - Variable in class model.Detection
-
The delta of the 2 last values.
- description - Variable in class model.OldEvent
-
- description - Variable in class model.Sensor
-
- Detection - Class in model
-
Describes the method of detection of an event and its criteria.
- Detection() - Constructor for class model.Detection
-
- detectionMethod - Variable in class model.BasicEvent
-
The method and criteria chosen to detect the event.
- dodagVersionNumber - Variable in class model.json.Sink
-
Version number of the DODAG in the RPL protocol (see the RFC 6650 for further precisions :
https://tools.ietf.org/html/rfc6550 ).
- duration - Variable in class model.BasicEvent
-
The duration of the Event in seconds.
- duration - Variable in class model.Event
-
The duration of the event.


Library officers
Martin
Otter
Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR)
Institut für Systemdynamik und Regelungstechnik (DLR-SR)
Forschungszentrum Oberpfaffenhofen
D-82234 Wessling
Germany
Hans Olsson
Dassault Systèmes AB, Lund, Sweden
Main authors
Dag Brück
Dassault Systèmes AB, Lund, Sweden.
email<EMAIL_ADDRESS>Acknowledgements
- This library has been designed by:
Dag Brück, Dassault Systèmes AB, Sweden
Hilding Elmqvist, previously at Dassault Systèmes AB, Sweden
Hans Olsson, Dassault Systèmes AB, Sweden
Martin Otter, DLR Oberpfaffenhofen, Germany.
- The library including the C reference implementation has been
implemented by Martin Otter and Dag Brück.
- The Examples.calculator demonstration to implement a calculator
with this library is from Hilding Elmqvist.
- Helpful comments from Kaj Nyström, PELAB, Linköping, Sweden,
are appreciated, as well as discussions at the 34th, 36th, and 40th
Modelica Design Meetings in Vienna, Linköping, and Dresden.
Generated at 2019-01-25T16:44:03Z by OpenModelica 1.14.0~dev-130-gefa44fb


T enderly, he works the curette against the corroded metal, dislodging minute particles of pale green rime.
- Celadon, like the glaze. I wonder if the chemistry. Oxidation. Corruption. Lay not up for yourselves treasures in the air.
He pauses and slides his hands over the elegant forms of the vacuum tubes, letting their nibs prick his thumbs.
- The story of bonds formed and broken in the outer shell, written, scraped away, written again. Palimpsest.
She is on the futon, its frayed seersucker coverlet baring evidence of marinara and mingled humors, watching and listening to the delicate mouse scratchings, feeling them on her temple and the nape of her neck, giving rise to a sensation near the small of her back which could be traced to some Paleozoic innovation preceding pleasure.
- Such a boy he is, that look on his face, entranced by his toy. Boy toy. The same face in his 5th grade science class.
When she was still taking courses, they would spend Thursday evenings sprawled on that futon, watching British mysteries on PBS, feeding each other chocolate-covered-peanuts from a bulk produce bag. The sensibly crafted plots rendered post-narrative by oblivious confectionery kisses.
"I'll bet you were quite the catch in junior-high."
- What's she saying now?
"Yeah, B.M.O.C."
- How can he pick at that thing forever?  What would Monica do? Set tongues wagging. POTUS. Together, in a pot, forget-me-nots--wonder if there's any stew left.
"Do you want anything?"
"I'm good."


Marianne Williamson falls for fake news story about Trump pardoning Charles Manson
by Nicole DarrahDemocratic presidential candidate Marianne Williamson got slammed on social media after she apparently fell for a fake news story Sunday night that claimed President Trump pardoned Charles Manson, the murderous cult leader who died in 2017.
"There is something deeply sinister about Trump pardoning Charles Manson, even posthumously," she wrote to her 2.8 million Twitter followers. "Dog whistles of the very worst possible kind..."
MARIANNE WILLIAMSON: I'M NOT SOME 'CRYSTAL WOO-WOO LADY' PEOPLE ON THE 'LEFT' SAY I AM
The self-help author, who's running a longshot candidacy for the Democratic presidential nomination, later deleted the tweet and admitted the information was erroneous in a follow-up tweet. “Glad To have been wrong," Williamson wrote in a tweet that she also subsequently deleted.
According to fact-checking website Snopes.com, the story about Trump and Manson is satirical and stems from a phony article published on Nov. 16 by MoronMajority.com. It was then picked up by political website the Daily Kos, which didn't label the article satire, and it seems Williamson picked up on it over the weekend.
CLICK HERE TO GET THE FOX NEWS APP
Manson died in November 2017 at 83 after suffering a heart attack and respiratory failure, triggered by colon cancer that had spread to other areas of his body. He had been serving a life sentence for orchestrating the 1969 killings of pregnant actress Sharon Tate and eight other people.
The Associated Press contributed to this report.


GET STARTED!
GET STARTED! ABOUT US


//= blocks/head.html
//= blocks/debug.html
//= blocks/first.html
//= blocks/footer.html //= blocks/scripts.html


This is a tool to make managing multiple "personas" on a site easier. A persona is the combination of user and a site. It's in a pre-beta state, please use with care.
This is a listing of the current tabs matching the personas.
| Persona name | URL |
|---|
This is a listing of the current personas.
| Persona name | URL bar icon | Color | Icon | Actions |
|---|
This should include the protocol and the domain, at the least. It can include a path, eg: https://github.com will work for all of github and https://github.com/marketplace will only work on the marketplace.


|
NumCpp
2.8.0
A Templatized Header Only C++ Implementation of the Python NumPy Library
|
Holds 1D and 2D arrays, the main work horse of the NumCpp library. More...
#include <NdArrayCore.hpp>
Public Types | |
| using | allocator_type = Allocator |
| using | column_iterator = NdArrayColumnIterator< dtype, size_type, pointer, difference_type > |
| using | const_column_iterator = NdArrayConstColumnIterator< dtype, size_type, const_pointer, difference_type > |
| using | const_iterator = NdArrayConstIterator< dtype, const_pointer, difference_type > |
| using | const_pointer = typename AllocTraits::const_pointer |
| using | const_reference = const dtype & |
| using | const_reverse_column_iterator = std::reverse_iterator< const_column_iterator > |
| using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
| using | difference_type = typename AllocTraits::difference_type |
| using | iterator = NdArrayIterator< dtype, pointer, difference_type > |
| using | pointer = typename AllocTraits::pointer |
| using | reference = dtype & |
| using | reverse_column_iterator = std::reverse_iterator< column_iterator > |
| using | reverse_iterator = std::reverse_iterator< iterator > |
| using | size_type = uint32 |
| using | value_type = dtype |
Public Member Functions | |
| NdArray ()=default | |
| NdArray (const NdArray< dtype > &inOtherArray) | |
| NdArray (const Shape &inShape) | |
| template<std::enable_if_t< is_valid_dtype_v< dtype >, int > = 0> | |
| NdArray (const std::deque< dtype > &inDeque) | |
| NdArray (const std::deque< std::deque< dtype >> &in2dDeque) | |
| NdArray (const std::initializer_list< std::initializer_list< dtype >> &inList) | |
| NdArray (const std::list< dtype > &inList) | |
| NdArray (const std::vector< std::vector< dtype >> &in2dVector) | |
| NdArray (const_pointer inPtr, size_type size) | |
| template<typename UIntType1 , typename UIntType2 , std::enable_if_t<!is_same_v< UIntType1, bool >, int > = 0, std::enable_if_t<!is_same_v< UIntType2, bool >, int > = 0> | |
| NdArray (const_pointer inPtr, UIntType1 numRows, UIntType2 numCols) | |
| template<typename Iterator , std::enable_if_t< is_same_v< typename std::iterator_traits< Iterator >::value_type, dtype >, int > = 0> | |
| NdArray (Iterator inFirst, Iterator inLast) | |
| NdArray (NdArray< dtype > &&inOtherArray) noexcept | |
| template<typename BoolType , std::enable_if_t< is_same_v< BoolType, bool >, int > = 0> | |
| NdArray (pointer inPtr, size_type size, BoolType takeOwnership) noexcept | |
| template<typename BoolType , std::enable_if_t< is_same_v< BoolType, bool >, int > = 0> | |
| NdArray (pointer inPtr, uint32 numRows, uint32 numCols, BoolType takeOwnership) noexcept | |
| NdArray (size_type inNumRows, size_type inNumCols) | |
| NdArray (size_type inSquareSize) | |
| template<size_t ArraySize, std::enable_if_t< is_valid_dtype_v< dtype >, int > = 0> | |
| NdArray (std::array< dtype, ArraySize > &inArray, bool copy=true) | |
| template<size_t Dim0Size, size_t Dim1Size> | |
| NdArray (std::array< std::array< dtype, Dim1Size >, Dim0Size > &in2dArray, bool copy=true) | |
| NdArray (std::initializer_list< dtype > inList) | |
| template<std::enable_if_t< is_valid_dtype_v< dtype >, int > = 0> | |
| NdArray (std::vector< dtype > &inVector, bool copy=true) | |
| template<size_t Dim1Size> | |
| NdArray (std::vector< std::array< dtype, Dim1Size >> &in2dArray, bool copy=true) | |
| ~NdArray () noexcept | |
| NdArray< bool > | all (Axis inAxis=Axis::NONE) const |
| NdArray< bool > | any (Axis inAxis=Axis::NONE) const |
| NdArray< uint32 > | argmax (Axis inAxis=Axis::NONE) const |
| NdArray< uint32 > | argmin (Axis inAxis=Axis::NONE) const |
| NdArray< uint32 > | argsort (Axis inAxis=Axis::NONE) const |
| template<typename dtypeOut , typename dtype_ = dtype, enable_if_t< is_same_v< dtype_, dtype >, int > = 0, enable_if_t< is_arithmetic_v< dtype_ >, int > = 0, enable_if_t< is_arithmetic_v< dtypeOut >, int > = 0> | |
| NdArray< dtypeOut > | astype () const |
| template<typename dtypeOut , typename dtype_ = dtype, enable_if_t< is_same_v< dtype_, dtype >, int > = 0, enable_if_t< is_arithmetic_v< dtype_ >, int > = 0, enable_if_t< is_complex_v< dtypeOut >, int > = 0> | |
| NdArray< dtypeOut > | astype () const |
| template<typename dtypeOut , typename dtype_ = dtype, enable_if_t< is_same_v< dtype_, dtype >, int > = 0, enable_if_t< is_complex_v< dtype_ >, int > = 0, enable_if_t< is_complex_v< dtypeOut >, int > = 0> | |
| NdArray< dtypeOut > | astype () const |
| template<typename dtypeOut , typename dtype_ = dtype, enable_if_t< is_same_v< dtype_, dtype >, int > = 0, enable_if_t< is_complex_v< dtype_ >, int > = 0, enable_if_t< is_arithmetic_v< dtypeOut >, int > = 0> | |
| NdArray< dtypeOut > | astype () const |
| NdArray< dtype > | at (const NdArray< int32 > &rowIndices, const NdArray< int32 > &colIndices) const |
| NdArray< dtype > | at (const Slice &inRowSlice, const Slice &inColSlice) const |
| NdArray< dtype > | at (const Slice &inRowSlice, int32 inColIndex) const |
| NdArray< dtype > | at (const Slice &inSlice) const |
| reference | at (int32 inIndex) |
| const_reference | at (int32 inIndex) const |
| NdArray< dtype > | at (int32 inRowIndex, const Slice &inColSlice) const |
| reference | at (int32 inRowIndex, int32 inColIndex) |
| const_reference | at (int32 inRowIndex, int32 inColIndex) const |
| const_reference | back () const noexcept |
| reference | back () noexcept |
| reference | back (size_type row) |
| const_reference | back (size_type row) const |
| const_iterator | begin () const noexcept |
| iterator | begin () noexcept |
| iterator | begin (size_type inRow) |
| const_iterator | begin (size_type inRow) const |
| NdArray< dtype > & | byteswap () noexcept |
| const_iterator | cbegin () const noexcept |
| const_iterator | cbegin (size_type inRow) const |
| const_column_iterator | ccolbegin () const noexcept |
| const_column_iterator | ccolbegin (size_type inCol) const |
| const_column_iterator | ccolend () const noexcept |
| const_column_iterator | ccolend (size_type inCol) const |
| const_iterator | cend () const noexcept |
| const_iterator | cend (size_type inRow) const |
| NdArray< dtype > | clip (value_type inMin, value_type inMax) const |
| const_column_iterator | colbegin () const noexcept |
| column_iterator | colbegin () noexcept |
| column_iterator | colbegin (size_type inCol) |
| const_column_iterator | colbegin (size_type inCol) const |
| const_column_iterator | colend () const noexcept |
| column_iterator | colend () noexcept |
| column_iterator | colend (size_type inCol) |
| const_column_iterator | colend (size_type inCol) const |
| NdArray< dtype > | column (uint32 inColumn) |
| NdArray< bool > | contains (value_type inValue, Axis inAxis=Axis::NONE) const |
| NdArray< dtype > | copy () const |
| const_reverse_iterator | crbegin () const noexcept |
| const_reverse_iterator | crbegin (size_type inRow) const |
| const_reverse_column_iterator | crcolbegin () const noexcept |
| const_reverse_column_iterator | crcolbegin (size_type inCol) const |
| const_reverse_column_iterator | crcolend () const noexcept |
| const_reverse_column_iterator | crcolend (size_type inCol) const |
| const_reverse_iterator | crend () const noexcept |
| const_reverse_iterator | crend (size_type inRow) const |
| Slice | cSlice (int32 inStartIdx=0, uint32 inStepSize=1) const noexcept |
| NdArray< dtype > | cumprod (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > | cumsum (Axis inAxis=Axis::NONE) const |
| const_pointer | data () const noexcept |
| pointer | data () noexcept |
| pointer | dataRelease () noexcept |
| NdArray< dtype > | diagonal (int32 inOffset=0, Axis inAxis=Axis::ROW) const |
| NdArray< dtype > | dot (const NdArray< dtype > &inOtherArray) const |
| void | dump (const std::string &inFilename) const |
| const_iterator | end () const noexcept |
| iterator | end () noexcept |
| iterator | end (size_type inRow) |
| const_iterator | end (size_type inRow) const |
| Endian | endianess () const noexcept |
| NdArray< dtype > & | fill (value_type inFillValue) noexcept |
| NdArray< uint32 > | flatnonzero () const |
| NdArray< dtype > | flatten () const |
| const_reference | front () const noexcept |
| reference | front () noexcept |
| reference | front (size_type row) |
| const_reference | front (size_type row) const |
| NdArray< dtype > | getByIndices (const NdArray< uint32 > &inIndices) const |
| NdArray< dtype > | getByMask (const NdArray< bool > &inMask) const |
| bool | isempty () const noexcept |
| bool | isflat () const noexcept |
| NdArray< bool > | issorted (Axis inAxis=Axis::NONE) const |
| bool | issquare () const noexcept |
| value_type | item () const |
| NdArray< dtype > | max (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > | median (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > | min (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > & | nans () noexcept |
| uint64 | nbytes () const noexcept |
| NdArray< dtype > | newbyteorder (Endian inEndianess) const |
| NdArray< bool > | none (Axis inAxis=Axis::NONE) const |
| std::pair< NdArray< uint32 >, NdArray< uint32 > > | nonzero () const |
| uint32 | numCols () const noexcept |
| uint32 | numRows () const noexcept |
| NdArray< dtype > & | ones () noexcept |
| template<typename Indices , enable_if_t< is_same_v< Indices, NdArray< int32 >>||is_same_v< Indices, NdArray< uint32 >>, int > = 0> | |
| NdArray< dtype > | operator() (const Indices &rowIndices, int32 colIndex) const |
| template<typename Indices , enable_if_t< is_same_v< Indices, NdArray< int32 >>||is_same_v< Indices, NdArray< uint32 >>, int > = 0> | |
| NdArray< dtype > | operator() (const Indices &rowIndices, Slice colSlice) const |
| const_reference | operator() (int32 inRowIndex, int32 inColIndex) const noexcept |
| reference | operator() (int32 inRowIndex, int32 inColIndex) noexcept |
| NdArray< dtype > | operator() (int32 inRowIndex, Slice inColSlice) const |
| template<typename Indices , enable_if_t< is_same_v< Indices, NdArray< int32 >>||is_same_v< Indices, NdArray< uint32 >>, int > = 0> | |
| NdArray< dtype > | operator() (int32 rowIndex, const Indices &colIndices) const |
| template<typename RowIndices , typename ColIndices , enable_if_t< is_same_v< RowIndices, NdArray< int32 >>||is_same_v< RowIndices, NdArray< uint32 >>, int > = 0, enable_if_t< is_same_v< ColIndices, NdArray< int32 >>||is_same_v< ColIndices, NdArray< uint32 >>, int > = 0> | |
| NdArray< dtype > | operator() (RowIndices rowIndices, ColIndices colIndices) const |
| NdArray< dtype > | operator() (Slice inRowSlice, int32 inColIndex) const |
| NdArray< dtype > | operator() (Slice inRowSlice, Slice inColSlice) const |
| template<typename Indices , enable_if_t< is_same_v< Indices, NdArray< int32 >>||is_same_v< Indices, NdArray< uint32 >>, int > = 0> | |
| NdArray< dtype > | operator() (Slice rowSlice, const Indices &colIndices) const |
| NdArray< dtype > & | operator= (const NdArray< dtype > &rhs) |
| NdArray< dtype > & | operator= (NdArray< dtype > &&rhs) noexcept |
| NdArray< dtype > & | operator= (value_type inValue) noexcept |
| template<typename Indices , enable_if_t< is_same_v< Indices, NdArray< size_type >>, int > = 0> | |
| NdArray< dtype > | operator[] (const Indices &inIndices) const |
| NdArray< dtype > | operator[] (const NdArray< bool > &inMask) const |
| NdArray< dtype > | operator[] (const Slice &inSlice) const |
| const_reference | operator[] (int32 inIndex) const noexcept |
| reference | operator[] (int32 inIndex) noexcept |
| bool | ownsInternalData () noexcept |
| NdArray< dtype > & | partition (uint32 inKth, Axis inAxis=Axis::NONE) |
| void | print () const |
| NdArray< dtype > | prod (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > | ptp (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > & | put (const NdArray< uint32 > &inIndices, const NdArray< dtype > &inValues) |
| NdArray< dtype > & | put (const NdArray< uint32 > &inIndices, value_type inValue) |
| NdArray< dtype > & | put (const Slice &inRowSlice, const Slice &inColSlice, const NdArray< dtype > &inValues) |
| NdArray< dtype > & | put (const Slice &inRowSlice, const Slice &inColSlice, value_type inValue) |
| NdArray< dtype > & | put (const Slice &inRowSlice, int32 inColIndex, const NdArray< dtype > &inValues) |
| NdArray< dtype > & | put (const Slice &inRowSlice, int32 inColIndex, value_type inValue) |
| NdArray< dtype > & | put (const Slice &inSlice, const NdArray< dtype > &inValues) |
| NdArray< dtype > & | put (const Slice &inSlice, value_type inValue) |
| NdArray< dtype > & | put (int32 inIndex, value_type inValue) |
| NdArray< dtype > & | put (int32 inRow, int32 inCol, value_type inValue) |
| NdArray< dtype > & | put (int32 inRowIndex, const Slice &inColSlice, const NdArray< dtype > &inValues) |
| NdArray< dtype > & | put (int32 inRowIndex, const Slice &inColSlice, value_type inValue) |
| NdArray< dtype > & | putMask (const NdArray< bool > &inMask, const NdArray< dtype > &inValues) |
| NdArray< dtype > & | putMask (const NdArray< bool > &inMask, value_type inValue) |
| NdArray< dtype > & | ravel () noexcept |
| const_reverse_iterator | rbegin () const noexcept |
| reverse_iterator | rbegin () noexcept |
| reverse_iterator | rbegin (size_type inRow) |
| const_reverse_iterator | rbegin (size_type inRow) const |
| const_reverse_column_iterator | rcolbegin () const noexcept |
| reverse_column_iterator | rcolbegin () noexcept |
| reverse_column_iterator | rcolbegin (size_type inCol) |
| const_reverse_column_iterator | rcolbegin (size_type inCol) const |
| const_reverse_column_iterator | rcolend () const noexcept |
| reverse_column_iterator | rcolend () noexcept |
| reverse_column_iterator | rcolend (size_type inCol) |
| const_reverse_column_iterator | rcolend (size_type inCol) const |
| const_reverse_iterator | rend () const noexcept |
| reverse_iterator | rend () noexcept |
| reverse_iterator | rend (size_type inRow) |
| const_reverse_iterator | rend (size_type inRow) const |
| NdArray< dtype > | repeat (const Shape &inRepeatShape) const |
| NdArray< dtype > | repeat (uint32 inNumRows, uint32 inNumCols) const |
| void | replace (value_type oldValue, value_type newValue) |
| NdArray< dtype > & | reshape (const Shape &inShape) |
| NdArray< dtype > & | reshape (int32 inNumRows, int32 inNumCols) |
| NdArray< dtype > & | reshape (size_type inSize) |
| NdArray< dtype > & | resizeFast (const Shape &inShape) |
| NdArray< dtype > & | resizeFast (uint32 inNumRows, uint32 inNumCols) |
| NdArray< dtype > & | resizeSlow (const Shape &inShape) |
| NdArray< dtype > & | resizeSlow (uint32 inNumRows, uint32 inNumCols) |
| NdArray< dtype > | round (uint8 inNumDecimals=0) const |
| NdArray< dtype > | row (uint32 inRow) |
| Slice | rSlice (int32 inStartIdx=0, uint32 inStepSize=1) const noexcept |
| Shape | shape () const noexcept |
| size_type | size () const noexcept |
| NdArray< dtype > & | sort (Axis inAxis=Axis::NONE) |
| std::string | str () const |
| NdArray< dtype > | sum (Axis inAxis=Axis::NONE) const |
| NdArray< dtype > | swapaxes () const |
| void | swapCols (int32 colIdx1, int32 colIdx2) noexcept |
| void | swapRows (int32 rowIdx1, int32 rowIdx2) noexcept |
| void | tofile (const std::string &inFilename) const |
| void | tofile (const std::string &inFilename, const char inSep) const |
| NdArray< uint32 > | toIndices (Slice inSlice, Axis inAxis=Axis::ROW) const |
| std::vector< dtype > | toStlVector () const |
| value_type | trace (uint32 inOffset=0, Axis inAxis=Axis::ROW) const noexcept |
| NdArray< dtype > | transpose () const |
| NdArray< dtype > & | zeros () noexcept |
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
| using nc::NdArray< dtype, Allocator >::allocator_type = Allocator |
| using nc::NdArray< dtype, Allocator >::column_iterator = NdArrayColumnIterator<dtype, size_type, pointer, difference_type> |
| using nc::NdArray< dtype, Allocator >::const_column_iterator = NdArrayConstColumnIterator<dtype, size_type, const_pointer, difference_type> |
| using nc::NdArray< dtype, Allocator >::const_iterator = NdArrayConstIterator<dtype, const_pointer, difference_type> |
| using nc::NdArray< dtype, Allocator >::const_pointer = typename AllocTraits::const_pointer |
| using nc::NdArray< dtype, Allocator >::const_reference = const dtype& |
| using nc::NdArray< dtype, Allocator >::const_reverse_column_iterator = std::reverse_iterator<const_column_iterator> |
| using nc::NdArray< dtype, Allocator >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
| using nc::NdArray< dtype, Allocator >::difference_type = typename AllocTraits::difference_type |
| using nc::NdArray< dtype, Allocator >::iterator = NdArrayIterator<dtype, pointer, difference_type> |
| using nc::NdArray< dtype, Allocator >::pointer = typename AllocTraits::pointer |
| using nc::NdArray< dtype, Allocator >::reference = dtype& |
| using nc::NdArray< dtype, Allocator >::reverse_column_iterator = std::reverse_iterator<column_iterator> |
| using nc::NdArray< dtype, Allocator >::reverse_iterator = std::reverse_iterator<iterator> |
| using nc::NdArray< dtype, Allocator >::size_type = uint32 |
| using nc::NdArray< dtype, Allocator >::value_type = dtype |
|
default |
Defualt Constructor, not very usefull...
|
inlineexplicit |
Constructor
| inSquareSize | square number of rows and columns |
|
inline |
Constructor
| inNumRows | |
| inNumCols |
|
inlineexplicit |
Constructor
| inShape |
|
inline |
Constructor
| inList |
|
inline |
Constructor
| inList | 2D initializer list |
|
inline |
Constructor
| inArray | |
| copy | (optional) boolean for whether to make a copy and own the data, or act as a non-owning shell. Default true. |
|
inline |
Constructor
| in2dArray | |
| copy | (optional) boolean for whether to make a copy and own the data, or act as a non-owning shell. Default true. |
|
inline |
Constructor
| inVector | |
| copy | (optional) boolean for whether to make a copy and own the data, or act as a non-owning shell. Default true. |
|
inlineexplicit |
Constructor
| in2dVector |
|
inline |
Constructor
| in2dArray | |
| copy | (optional) boolean for whether to make a copy and own the data, or act as a non-owning shell. Default true. |
|
inlineexplicit |
Constructor
| inDeque |
|
inlineexplicit |
Constructor
| in2dDeque |
|
inlineexplicit |
Constructor
| inList |
|
inline |
Constructor
| inFirst | |
| inLast |
|
inline |
Constructor. Copies the contents of the buffer into the array.
| inPtr | const_pointer to beginning of buffer |
| size | number of elements in buffer |
|
inline |
Constructor. Copies the contents of the buffer into the array.
| inPtr | const_pointer to beginning of buffer |
| numRows | number of rows of the buffer |
| numCols | number of cols of the buffer |
|
inlinenoexcept |
Constructor. Operates as a shell around an already existing array of data.
| inPtr | pointer to beginning of the array |
| size | the number of elements in the array |
| takeOwnership | whether or not to take ownership of the data and call delete[] in the destructor. |
|
inlinenoexcept |
Constructor. Operates as a shell around an already existing array of data.
| inPtr | pointer to beginning of the array |
| numRows | the number of rows in the array |
| numCols | the nubmer of column in the array |
| takeOwnership | whether or not to take ownership of the data and call delete[] in the destructor. |
|
inline |
Copy Constructor
| inOtherArray |
|
inlinenoexcept |
Move Constructor
| inOtherArray |
|
inlinenoexcept |
Destructor
|
inline |
Returns True if all elements evaluate to True or non zero
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.all.html
| inAxis | (Optional, default NONE) |
|
inline |
Returns True if any elements evaluate to True or non zero
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.any.html
| inAxis | (Optional, default NONE) |
|
inline |
Return indices of the maximum values along the given axis. Only the first index is returned.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.argmax.html
| inAxis | (Optional, default NONE) |
|
inline |
Return indices of the minimum values along the given axis. Only the first index is returned.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.argmin.html
| inAxis | (Optional, default NONE) |
|
inline |
Returns the indices that would sort this array.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.argsort.html
| inAxis | (Optional, default NONE) |
|
inline |
Returns a copy of the array, cast to a specified type. Arithmetic to Arithmetic
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.astype.html
|
inline |
Returns a copy of the array, cast to a specified type. Arithmetic to Complex
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.astype.html
|
inline |
Returns a copy of the array, cast to a specified type. Complex to Complex
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.astype.html
|
inline |
Returns a copy of the array, cast to a specified type. Complex to Arithmetic
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.astype.html
|
inline |
const 2D access method with bounds checking
| rowIndices | |
| colIndices |
|
inline |
const 2D access method with bounds checking
| inRowSlice | |
| inColSlice |
|
inline |
const 2D access method with bounds checking
| inRowSlice | |
| inColIndex |
|
inline |
const 1D access method with bounds checking
| inSlice |
|
inline |
1D access method with bounds checking
| inIndex |
|
inline |
const 1D access method with bounds checking
| inIndex |
|
inline |
const 2D access method with bounds checking
| inRowIndex | |
| inColSlice |
|
inline |
2D access method with bounds checking
| inRowIndex | |
| inColIndex |
|
inline |
const 2D access method with bounds checking
| inRowIndex | |
| inColIndex |
|
inlinenoexcept |
Returns a copy of the last element of the flattened array.
|
inlinenoexcept |
Returns a reference the last element of the flattened array.
|
inline |
Returns a reference the last element of the input row.
|
inline |
Returns a copy of the last element of the input row.
|
inlinenoexcept |
const iterator to the beginning of the flattened array
|
inlinenoexcept |
iterator to the beginning of the flattened array
|
inline |
iterator to the beginning of the input row
| inRow |
|
inline |
const iterator to the beginning of the input row
| inRow |
|
inlinenoexcept |
Swap the bytes of the array elements in place
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.byteswap.html
|
inlinenoexcept |
const iterator to the beginning of the flattened array
|
inline |
const iterator to the beginning of the input row
| inRow |
|
inlinenoexcept |
const_column_iterator to the beginning of the flattened array
|
inline |
const_column_iterator to the beginning of the input column
| inCol |
|
inlinenoexcept |
const_column_iterator to 1 past the end of the flattened array
|
inline |
const_column_iterator to 1 past the end of the input col
| inCol |
|
inlinenoexcept |
const iterator to 1 past the end of the flattened array
|
inline |
const iterator to 1 past the end of the input row
| inRow |
|
inline |
Returns an array whose values are limited to [min, max].
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.clip.html
| inMin | min value to clip to |
| inMax | max value to clip to |
|
inlinenoexcept |
const column_iterator to the beginning of the flattened array
|
inlinenoexcept |
column_iterator to the beginning of the flattened array
|
inline |
column_iterator to the beginning of the input column
| inCol |
|
inline |
const column_iterator to the beginning of the input column
| inCol |
|
inlinenoexcept |
const column_iterator to 1 past the end of the flattened array
|
inlinenoexcept |
column_iterator to 1 past the end of the flattened array
|
inline |
column_iterator to the 1 past end of the column
| inCol |
|
inline |
const column_iterator to the 1 past end of the column
| inCol |
|
inline |
Returns the full column of the array
|
inline |
returns whether or not a value is included the array
| inValue | |
| inAxis | (Optional, default NONE) |
|
inline |
Return a copy of the array
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.copy.html
|
inlinenoexcept |
const_reverse_iterator to the beginning of the flattened array
|
inline |
const_reverse_iterator to the beginning of the input row
| inRow |
|
inlinenoexcept |
const_reverse_column_iterator to the beginning of the flattened array
|
inline |
const_reverse_column_iterator to the beginning of the input column
| inCol |
|
inlinenoexcept |
const_reverse_column_iterator to 1 past the end of the flattened array
|
inline |
const_reverse_column_iterator to 1 past the end of the input col
| inCol |
|
inlinenoexcept |
const_reverse_iterator to 1 past the end of the flattened array
|
inline |
const_reverse_iterator to 1 past the end of the input row
| inRow |
|
inlinenoexcept |
|
inline |
Return the cumulative product of the elements along the given axis.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.cumprod.html
| inAxis | (Optional, default NONE) |
|
inline |
Return the cumulative sum of the elements along the given axis.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.cumsum.html
| inAxis | (Optional, default NONE) |
|
inlinenoexcept |
Returns the raw pointer to the underlying data
|
inlinenoexcept |
Returns the raw pointer to the underlying data
|
inlinenoexcept |
Releases the internal data pointer so that the destructor will not call delete on it, and returns the raw pointer to the underlying data.
|
inline |
Return specified diagonals.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.diagonal.html
| inOffset | Offset of the diagonal from the main diagonal. Can be both positive and negative. Defaults to 0. |
| inAxis | (Optional, default ROW) axis the offset is applied to |
|
inline |
Dot product of two arrays.
For 2-D arrays it is equivalent to matrix multiplication, and for 1-D arrays to inner product of vectors.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.dot.html
| inOtherArray |
|
inline |
Dump a binary file of the array to the specified file. The array can be read back with nc::load.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.dump.html
| inFilename |
|
inlinenoexcept |
const iterator to 1 past the end of the flattened array
|
inlinenoexcept |
iterator to 1 past the end of the flattened array
|
inline |
iterator to the 1 past end of the row
| inRow |
|
inline |
const iterator to the 1 past end of the row
| inRow |
|
inlinenoexcept |
Return the NdArrays endianess
|
inlinenoexcept |
Fill the array with a scaler value.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.fill.html
| inFillValue |
|
inline |
Return the indices of the flattened array of the elements that are non-zero.
|
inline |
Return a copy of the array collapsed into one dimension.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.flatten.html
|
inlinenoexcept |
Returns a copy of the first element of the flattened array.
|
inlinenoexcept |
Returns a reference to the first element of the flattened array.
|
inline |
Returns a reference to the first element of the input row.
|
inline |
Returns a copy of the first element of the input row.
|
inline |
Returns a new flat array with the givin flat input indices.
| inIndices |
|
inline |
Takes in a boolean mask the same size as the array and returns a flattened array with the values cooresponding to the input mask.
| inMask |
|
inlinenoexcept |
Return if the NdArray is empty. ie the default construtor was used.
|
inlinenoexcept |
Return if the NdArray is empty. ie the default construtor was used.
|
inline |
|
inlinenoexcept |
Return if the NdArray is sorted.
|
inline |
Copy an element of an array to a standard C++ scaler and return it.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.item.html
|
inline |
Return the maximum along a given axis.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.max.html
| inAxis | (Optional, default NONE) |
|
inline |
Return the median along a given axis. If the dtype is floating point then the middle elements will be averaged for arrays of even number of elements. If the dtype is integral then the middle elements will be intager averaged (rounded down to integer) for arrays of even number of elements.
| inAxis | (Optional, default NONE) |
|
inline |
Return the minimum along a given axis.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.min.html
| inAxis | (Optional, default NONE) |
|
inlinenoexcept |
Fills the array with nans.
|
inlinenoexcept |
Returns the number of bytes held by the array
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.nbytes.html
|
inline |
Return the array with the same data viewed with a different byte order. only works for integer types.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.newbyteorder.html
| inEndianess |
|
inline |
Returns True if none elements evaluate to True or non zero
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.any.html
| inAxis | (Optional, default NONE) |
| std::pair< NdArray< uint32 >, NdArray< uint32 > > nc::NdArray< dtype, _Alloc >::nonzero |
Return the row/col indices of the array of the elements that are non-zero.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.nonzero.html
|
inlinenoexcept |
Returns the number of columns in the array
|
inlinenoexcept |
Returns the number of rows in the array
|
inlinenoexcept |
Fills the array with ones
|
inline |
2D index access operator with bounds checking. returned array is of the range.
| rowIndices | |
| colIndex |
|
inline |
2D index access operator with bounds checking. returned array is of the range.
| rowIndices | |
| colSlice |
|
inlinenoexcept |
const 2D access operator with no bounds checking
| inRowIndex | |
| inColIndex |
|
inlinenoexcept |
2D access operator with no bounds checking
| inRowIndex | |
| inColIndex |
|
inline |
2D Slicing access operator with bounds checking. returned array is of the range [start, stop).
| inRowIndex | |
| inColSlice |
|
inline |
2D index access operator with bounds checking. returned array is of the range.
| rowIndex | |
| colIndices |
|
inline |
2D index access operator with bounds checking. returned array is of the range.
| rowIndices | |
| colIndices |
|
inline |
2D Slicing access operator with bounds checking. returned array is of the range [start, stop).
| inRowSlice | |
| inColIndex |
|
inline |
2D Slicing access operator with bounds checking. returned array is of the range [start, stop).
| inRowSlice | |
| inColSlice |
|
inline |
2D index access operator with bounds checking. returned array is of the range.
| rowSlice | |
| colIndices |
|
inline |
Assignment operator, performs a deep copy
| rhs |
|
inlinenoexcept |
Move operator, performs a deep move
| rhs |
|
inlinenoexcept |
Assignment operator, sets the entire array to a single scaler value.
| inValue |
|
inline |
|
inline |
|
inline |
1D Slicing access operator with bounds checking. returned array is of the range [start, stop).
| inSlice |
|
inlinenoexcept |
const 1D access operator with no bounds checking
| inIndex |
|
inlinenoexcept |
1D access operator with no bounds checking
| inIndex |
|
inlinenoexcept |
Returns whether or not the array object owns the underlying data
|
inline |
Rearranges the elements in the array in such a way that value of the element in kth position is in the position it would be in a sorted array. All elements smaller than the kth element are moved before this element and all equal or greater are moved behind it. The ordering of the elements in the two partitions is undefined.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.partition.html
| inKth | kth element |
| inAxis | (Optional, default NONE) |
|
inline |
Prints the array to the console.
|
inline |
Return the product of the array elements over the given axis
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.prod.html
| inAxis | (Optional, default NONE) |
|
inline |
Peak to peak (maximum - minimum) value along a given axis.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.ptp.html
| inAxis | (Optional, default NONE) |
|
inline |
Set a.flat[n] = values[n] for all n in indices.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inIndices | |
| inValues |
|
inline |
Set a.flat[n] = values for all n in indices.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inIndices | |
| inValue |
|
inline |
Set the slice indices to the input values.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRowSlice | |
| inColSlice | |
| inValues |
|
inline |
Set the slice indices to the input value.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRowSlice | |
| inColSlice | |
| inValue |
|
inline |
Set the slice indices to the input values.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRowSlice | |
| inColIndex | |
| inValues |
|
inline |
Set the slice indices to the input value.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRowSlice | |
| inColIndex | |
| inValue |
|
inline |
Set the slice indices to the input values.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inSlice | |
| inValues |
|
inline |
Set the slice indices to the input value.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inSlice | |
| inValue |
|
inline |
set the flat index element to the value
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inIndex | |
| inValue |
|
inline |
set the 2D row/col index element to the value
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRow | |
| inCol | |
| inValue |
|
inline |
Set the slice indices to the input values.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRowIndex | |
| inColSlice | |
| inValues |
|
inline |
Set the slice indices to the input value.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.put.html
| inRowIndex | |
| inColSlice | |
| inValue |
|
inline |
Set the mask indices to the input values.
| inMask | |
| inValues |
|
inline |
Set the mask indices to the input value.
| inMask | |
| inValue |
|
inlinenoexcept |
Flattens the array but does not make a copy.
Numpy Reference: https://docs.scipy.org/doc/numpy/reference/generated/numpy.ravel.html
|
inlinenoexcept |
const iterator to the beginning of the flattened array
|
inlinenoexcept |
reverse_iterator to the beginning of the flattened array
|
inline |
reverse_iterator to the beginning of the input row
| inRow |
|
inline |
const iterator to the beginning of the input row
| inRow |
|
inlinenoexcept |
const iterator to the beginning of the flattened array
|
inlinenoexcept |
reverse_column_iterator to the beginning of the flattened array
|
inline |
reverse_column_iterator to the beginning of the input column
| inCol |
|
inline |
const iterator to the beginning of the input column
| inCol |
|
inlinenoexcept |
const_reverse_column_iterator to 1 past the end of the flattened array
|
inlinenoexcept |
reverse_column_iterator to 1 past the end of the flattened array
|
inline |
reverse_column_iterator to the 1 past end of the column
| inCol |
|
inline |
const_reverse_column_iterator to the 1 past end of the column
| inCol |
|
inlinenoexcept |
const_reverse_iterator to 1 past the end of the flattened array
|
inlinenoexcept |
reverse_iterator to 1 past the end of the flattened array
|
inline |
reverse_iterator to the 1 past end of the row
| inRow |
|
inline |
const_reverse_iterator to the 1 past end of the row
| inRow |
|
inline |
Repeat elements of an array.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.repeat.html
| inRepeatShape |
|
inline |
Repeat elements of an array.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.repeat.html
| inNumRows | |
| inNumCols |
|
inline |
Replaces a value of the array with another value
| oldValue | the value to replace |
| newValue | the value to replace with |
|
inline |
The new shape should be compatible with the original shape. If an single integer, then the result will be a 1-D array of that length. One shape dimension can be -1. In this case, the value is inferred from the length of the array and remaining dimensions.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.reshape.html
| inShape |
|
inline |
The new shape should be compatible with the original shape. If an single integer, then the result will be a 1-D array of that length. One shape dimension can be -1. In this case, the value is inferred from the length of the array and remaining dimensions.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.reshape.html
| inNumRows | |
| inNumCols |
|
inline |
The new shape should be compatible with the original shape. If an single integer, then the result will be a 1-D array of that length. One shape dimension can be -1. In this case, the value is inferred from the length of the array and remaining dimensions.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.reshape.html
| inSize |
|
inline |
Change shape and size of array in-place. All previous data of the array is lost.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.resize.html
| inShape |
|
inline |
Change shape and size of array in-place. All previous data of the array is lost.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.resize.html
| inNumRows | |
| inNumCols |
|
inline |
Return a new array with the specified shape. If new shape is larger than old shape then array will be padded with zeros. If new shape is smaller than the old shape then the data will be discarded.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.resize.html
| inShape |
|
inline |
Return a new array with the specified shape. If new shape is larger than old shape then array will be padded with zeros. If new shape is smaller than the old shape then the data will be discarded.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.resize.html
| inNumRows | |
| inNumCols |
|
inline |
Return a with each element rounded to the given number of decimals.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.round.html
| inNumDecimals | (default 0) |
|
inline |
Returns the full row of the array
|
inlinenoexcept |
|
inlinenoexcept |
Return the shape of the array
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.shape.html
|
inlinenoexcept |
Return the size of the array
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.size.html
|
inline |
Sort an array, in-place.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.sort.html
| inAxis | (Optional, default NONE) |
|
inline |
returns the NdArray as a string representation
|
inline |
Return the sum of the array elements over the given axis.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.sum.html
| inAxis | (Optional, default NONE) |
|
inline |
Interchange two axes of an array. Equivalent to transpose...
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.swapaxes.html
|
inlinenoexcept |
Swaps rows of the array
| colIdx1 | |
| colIdx2 |
|
inlinenoexcept |
Swaps rows of the array
| rowIdx1 | |
| rowIdx2 |
|
inline |
Write array to a file as binary. The data produced by this method can be recovered using the function fromfile().
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.tofile.html
| inFilename |
|
inline |
Write array to a file as text. The data produced by this method can be recovered using the function fromfile().
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.tofile.html
| inFilename | |
| inSep | Separator between array items for text output. |
|
inline |
Converts the slice object to an NdArray of indices for this array
| inSlice | the slice object |
| inAxis | the array axis |
|
inline |
Write flattened array to an STL vector
|
inlinenoexcept |
Return the sum along diagonals of the array.
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.trace.html
| inOffset | Offset of the diagonal from the main diagonal. Can be both positive and negative. Defaults to 0. |
| inAxis | (Optional, default ROW) Axis to offset from |
|
inline |
Tranpose the rows and columns of an array
Numpy Reference: https://www.numpy.org/devdocs/reference/generated/numpy.ndarray.transpose.html
|
inlinenoexcept |
Fills the array with zeros


Home
|
Submit a Site
|
Help
Home
|
Submit a Site
|
Help
Copyright © 1999-2004 Hotlaunch.com.
.:.
Advertise
|
Privacy Policy


Page One
Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's
standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it
to make a type specimen book. It has survived not only five centuries, but also the leap into electronic
typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset
sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker
including versions of Lorem Ipsum.
Page Two
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's
standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it
to make a type specimen book. It has survived not only five centuries, but also the leap into electronic
typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset
sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker
including versions of Lorem Ipsum.


Username:
Password:
Organization name:
Description:
Home Page
Get Mission Statement
Login
Create Account
Get Information


Methods summary
public
|
#
__construct( array $servers = array() )
Creates the collection.
Parameters
- $servers
The servers to initially fill into the
collection.
|
public
|
|
public
Puli\Manager\Api\Server\Server
|
#
get( string $serverName )
Returns the server with the given name.
Returns the server with the given name.
Parameters
- $serverName
- The server name.
Returns
Throws
|
public
|
#
remove( string $serverName )
Removes a server from the collection.
Removes a server from the collection.
If the server does not exist, this method does nothing.
Parameters
- $serverName
- The server name.
|
public
boolean
|
#
contains( string $serverName )
Returns whether a server exists.
Returns whether a server exists.
Parameters
- $serverName
- The server name.
Returns
boolean Whether the server exists.
|
public
|
#
clear( )
Removes all servers from the collection.
Removes all servers from the collection.
|
public
string[]
|
#
getServerNames( )
Returns the names of all servers in the collection.
Returns the names of all servers in the collection.
Returns
string[] The server names.
|
public
|
#
replace( array $servers )
Replaces the collection contents with the given servers.
Replaces the collection contents with the given servers.
Parameters
- $servers
- The install servers to set.
|
public
|
#
merge( array $servers )
Merges the given servers into the collection.
Merges the given servers into the collection.
Parameters
- $servers
- The install servers to add.
|
public
boolean
|
#
isEmpty( )
Returns whether the collection is empty.
Returns whether the collection is empty.
Returns
boolean Returns true if the collection contains no servers and
false otherwise.
|
public
Puli\Manager\Api\Server\Server[]
|
#
toArray( )
Returns the collection contents as array.
Returns the collection contents as array.
Returns
|
public
|
#
offsetExists( $serverName )
Implementation of
ArrayAccess::offsetExists()
|
public
|
#
offsetGet( $serverName )
Implementation of
ArrayAccess::offsetGet()
|
public
|
#
offsetSet( $key, $server )
Implementation of
ArrayAccess::offsetSet()
|
public
|
#
offsetUnset( $serverName )
Implementation of
ArrayAccess::offsetUnset()
|
public
|
#
getIterator( )
Implementation of
IteratorAggregate::getIterator()
|
public
|
#
count( )
Implementation of
Countable::count()
|


has been blocked by 'PrivaSee'...
... because it's trying to transmit data insecurely.
Tell me more!


Introduction to Paper Trading¶
In this tutorial, you will learn:
What is paper trading
How to start paper trading with Interactive Brokers
Intro to paper trading¶
Definition
A paper trade is a simulated trade that allows an investor to practice
buying and selling without risking real money.
In this module, we will first set up a connection to Interactive Brokers Trader
Workstation (IB TWS).
Then, we will learn how to create basic contracts, request market data, manage
orders, and request account summary.
Setup Interactive Brokers API¶
Before setting up a connection to IB TWS, there are few tasks to be completed:
Visit InteractiveBrokers website, and open an account
Download IB API software from InteractiveBrokers GitHub account
Download TWS software from InteractiveBrokers TWS
Choose an IDE that you code in
Subscribe to market data
For detailed instructions, please refer to InteractiveBrokers Initial Setup.
Connect to Interactive Brokers TWS¶
Once finish the setup, it’s time to connect to IB TWS. Use
app.connect()
to establish an API connection.class App(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)
# Establish API connection
# app.connect(ipAddress, portNumber, clientId)
app = App()
app.connect('<IP_ADDRESS>', 7497, 0)
app.run()
If you are successfully connected to IB TWS, you will get the below output in your
terminal.
Create Basic Contracts¶
Then, let’s create basic contract objects (trading instruments) such as stocks,
or fx pairs.
from ibapi.contract import Contract
# Create contracts - stocks
tsla_contract = Contract()
tsla_contract.symbol = "TSLA"
tsla_contract.secType = "STK"
tsla_contract.exchange = "ISLAND"
tsla_contract.currency = "USD"
# Create contracts - fx pairs
eurgbp_contract = Contract()
eurgbp_contract.symbol = "EUR"
eurgbp_contract.secType = "CASH"
eurgbp_contract.currency = "GBP"
eurgbp_contract.exchange = "IDEALPRO"
Request Market Data¶
Using the contract objects, we can request both streaming and historical market data.
Request Streaming Market Data¶
Use
app.reqMktData()
to request streaming market data.class App(EWrapper, EClient):
# Receive market data
def tickPrice(self, tickerId, field, price, attribs):
print("Tick Price. Ticker Id:", tickerId, ", TickType: ", TickTypeEnum.to_str(field),
", Price: ", price, ", CanAutoExecute: ", attribs.canAutoExecute,
", PastLimit: ", attribs.pastLimit, ", PreOpen: ", attribs.preOpen)
# Request market data
# app.reqMktData(tickerId, contract, genericTickList, snapshot, regulatorySnaphsot, mktDataOptions)
app.reqMktData(1, tsla_contract, '', False, False, None)
Note that if you haven’t subscribed the market data, you will receive 10-15 minute
delayed streaming data. Before getting the delayed streaming data, make sure you use
app.reqMarketDataType(3)
to switch market data type to delayed data.# Switch market data type
# 3 for delayed data
app.reqMarketDataType(3)
Request Historical Market Data¶
Use
app.reqHistoricalData()
to request historical bar data.class App(EWrapper, EClient):
# Receive historical bar data
def historicalData(self, reqId, bar):
print("HistoricalData. ReqId:", reqId, "BarData.", bar)
# Request historical bar data
# app.reqHistoricalData(tickerId, contract, endDateTime, durationString, barSizeSetting, whatToShow, useRTH, formatDate, keepUpToDate)
app.reqHistoricalData(1, eurgbp_contract, '', '1 M', '1 day', 'ASK', 1, 1, False, None)
Manage Orders¶
Now, let’s try to make an order!
First, write some methods in EWrapper that are required for receiving all relevant
information on order opening, order status, and order execution.
class App(EWrapper, EClient):
def nextValidId(self, orderId: int):
super().nextValidId(orderId)
self.nextorderId = orderId
print('The next valid order id is: ', self.nextorderId)
def orderStatus(self, orderId, status, filled, remaining, avgFillPrice, permId, parentId,
lastFillPrice, clientId, whyHeld, mktCapPrice):
print("OrderStatus. Id: ", orderId, ", Status: ", status, ", Filled: ", filled,
", Remaining: ", remaining, ", AvgFillPrice: ", avgFillPrice,
", PermId: ", permId, ", ParentId: ", parentId, ", LastFillPrice: ", lastFillPrice,
", ClientId: ", clientId, ", WhyHeld: ", whyHeld, ", MktCapPrice: ", mktCapPrice)
def openOrder(self, orderId, contract, order, orderState):
print("OpenOrder. PermID: ", order.permId, ", ClientId: ", order.clientId,
", OrderId: ", orderId, ", Account: ", order.account, ", Symbol: ", contract.symbol,
", SecType: ", contract.secType, " , Exchange: ", contract.exchange,
", Action: ", order.action, ", OrderType: ", order.orderType,
", TotalQty: ", order.totalQuantity, ", CashQty: ", order.cashQty,
", LmtPrice: ", order.lmtPrice, ", AuxPrice: ", order.auxPrice,
", Status: ", orderState.status)
def execDetails(self, reqId, contract, execution):
print("ExecDetails. ", reqId, " - ", contract.symbol, ", ", contract.secType,
", ", contract.currency, " - ", execution.execId, ", ", execution.orderId,
", ", execution.shares , ", ", execution.lastLiquidity)
Place Orders¶
To place an order, use
app.placeOrder()
to submit an order.# Place order
# app.placeOrder(orderId, contract, order)
app.placeOrder(app.nextorderId, eurgbp_contract, order)
Modify Orders¶
To modify the order, call
app.placeOrder()
again with the order id to be
modified and the updated parameters.# Modify order
order_id = 1
order.lmtPrice = '0.82'
app.placeOrder(order_id, eurgbp_contract, order)
Cancel Orders¶
To cancel an order by its order id, use
app.cancelOrder()
.To cancel all open orders, use
app.reqGlobalCancel()
.# Cancel order by order Id
app.cancelOrder(app.nextorderId)
# Cancel all open orders
app.reqGlobalCancel()
Request Account Summary¶
Lastly, use
app.reqAccountSummary()
to get the summarized account information.class App(EWrapper, EClient):
# Receive account summary
def accountSummary(self, reqId:int, account:str, tag:str, value:str, currency:str):
print("Acct Summary. ReqId:" , reqId , "Acct:", account, "Tag: ", tag, "Value:", value,
"Currency:", currency)
# Request account summary in base currency
app.reqAccountSummary(9002, "All", "$LEDGER");
# Request account summary in HKD
app.reqAccountSummary(9002, "All", "$LEDGER:HKD");
References
Attention
All investments entail inherent risk. This repository seeks to solely educate
people on methodologies to build and evaluate algorithmic trading strategies.
All final investment decisions are yours and as a result you could make or lose money.


{# ikhaya/archive.html ~~~~~~~~~~~~~~~~~~~ This page shows links to all months of ikhaya articles. :copyright: (c) 2013-2019 by the Inyoka Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. #} {% extends 'ikhaya/base.html' %} {% block breadcrumb %} {{ super() }} {{ macros.breadcrumb_item(_('Archive'), href('ikhaya', 'archive')) }} {% endblock %} {% block content %}
{% trans link=href('ikhaya') %} Here are all published articles in chronological order. You can find the most recent articles on the front page. {% endtrans %}
{% for year in months|groupby('year') %}


Submit an enquiry for advice on accessing the apprenticeship service.
Becoming an apprenticeship training provider
Guidance is available on what is expected of a registered apprenticeship training provider (opens in new tab).
Submit an enquiry for advice on accessing the apprenticeship service.
Guidance is available on what is expected of a registered apprenticeship training provider (opens in new tab).


Golf is life!!
I think all of my work is ok but there are a few that stand out to me for example My welding page is fan-freaking-tastic I have been part of the welding club and I would like to sayh it helps put the welding club out there because they help the community so much.
Come vist my best page
| Volts | Wire feed speed |
|---|---|
| 18.0 | 180 |
| 20.5 | 215 |
| 25.4 | 425 |


by Curtis Edmonds --<EMAIL_ADDRESS>A few years back, they brought in my main man Quentin Tarantino to add a little spice to the script of the submarine action flick Crimson Tide. One of the scenes that bears QT's distinctive stamp is this: Renegade Navy officer Denzel Washington is trying to convince a communications officer to fix a bit of equipment to contact the outside world. Denzel explains: OK, I'm Captain Kirk, and you're Scotty, and I need you to fix this engine before the ship blows apart. The crewman nods, fixes the whatever-it-was, and Denzel saves the day.
I would have felt a little better about Sphere if they had acknowledged, somewhere, that this was a Star Trek movie. Because that's all it is. And it's not a good even-numbered Star Trek film, either, but one of those odd-numbered jobs. Our captain is not Kirk, or Picard, but tweed-blazered psychologist Dustin Hoffman. The crew is a motley band of scientists: marine biologist Sharon Stone, mathematician Samuel L. Jackson, physicist Liev Schrieber. And their mission is to take our $3.75 matinee price and bore us silly for two hours.
You'll notice that I don't mention character names, for the plain and simple reason that I don't remember them. Seriously. Imagine that you're watching, oh, let's say Star Trek 11: The Search for the Voyage to the Final Frontier, except that you've never, ever seen a Star Trek episode or movie ever. The characters are up on the screen, they all know each other, they have a history, but you don't have the first clue who they are or what they're all about or why they're wearing so much makeup. That's exactly the situation in Sphere: All of the characters know each other, some of them don't like each other, and the characterization is so weak and so poor that we don't have a reason to care.
 Dustin Hoffman just got a Oscar nomination for Wag the Dog. Samuel L. Jackson deserved one for Jackie Brown (although I'm very glad that Robert Forster got one, don't get me wrong). But they're skating, phoning it in, banking on the goodwill from past performances to carry them through. And it doesn't work. The characters are so weak, the plot so filmy, that it even these talented actors can't make it believable or entertaining. (Not to mention the disappointing performances of the usually reliable director Barry Levinson and producer Michael Crichton.)
The plot is dumb, even by Star Trek standards. There's a sphere on the bottom of the ocean, and the away team has to investigate. A couple of minor "red shirt" crew members (Queen Latifah, for one, who deserves better) die for the sake of moving the plot along.  Will the three highest-paid actors survive?
Special effects can save a bad movie like this (see The Lost World) but that doesn't happen, either. The major action scene involves an attack by a scary giant squid. But do we get to see the squid? Nooo. We get to see the little eggs being laid, we get to see the undersea habitat being shaken, but no squid. (We do get to see Samuel L. Jackson reduced to choking on a piece of fried calimari to establish that he's afraid of squid, though.)
Rumor says that Levinson delayed filming on Sphere to finish Wag the Dog. May be true, I don't know -- but Sphere certainly plays like a leftover or an afterthought. Do yourself a favor, go rent The Abyss.
Rating: C
-- Curtis "BlueDuck" Edmonds<EMAIL_ADDRESS>The Hollywood Stock Brokerage and Resource http://www.hsbr.org/brokers/blueduck/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


2 writes to Timeout
Microsoft.WSMan.Management (2)
PingWSMan.cs (1)
153
m_SessionObj.
Timeout
= 1000; // 1 sec. we are putting this low so that Test-WSMan can return promptly if the server goes unresponsive.
WsManHelper.cs (1)
839
m_SessionObj.
Timeout
= sessionoption.OperationTimeout;


Spanish king and queen arrive in Cuba for first royal visit
by MICHAEL WEISSENSTEIN and JOSEPH WILSONHAVANA (AP) - King Felipe VI and Queen Letizia of Spain arrived in Cuba on Monday night on the first state visit to the island by a Spanish royal.
The couple disembarked in Havana at the start of a three-day visit to Cuba’s capital and the eastern city of Santiago.
The king and queen will tour historic sites during the week as Havana celebrates the 500th anniversary of its founding, but they will leave before the actual anniversary on Saturday.
The trip has sparked criticism from right-wing politicians in Spain and inspired critical opinion pieces in conservative-leaning newspapers over a trip seen as a step forward for normal relations between Spain and its former colony, a single-party communist state that cracks down harshly on dissent.
The royal couple plan to meet with cultural figures and entrepreneurs but avoid interaction with members of Cuba’s illegal political opposition.
Spanish hotel chains and other tourism-related businesses serve hundreds of thousands of travelers to Cuba each year, and hundreds of thousands of Cubans have claimed Spanish citizenship through laws granting passports to the children and grandchildren of Spanish immigrants.
Felipe’s father, King Juan Carlos, never made a state visit to Cuba during his four decades on the throne following the return of democracy to Spain after the death of dictator Francisco Franco in 1975. Pressure from conservative political parties nixed any chance of a visit.
Juan Carlos did travel to Havana in 1999 for the Ibero-American Summit. He also returned to the island after he had abdicated in 2014 to attend the funeral of Fidel Castro.
Pablo Casado, the leader of Spain’s conservative Popular Party and opposition leader to Socialist Prime Minister Pedro Sánchez, has criticized the King Felipe’s trip.
“It doesn’t seem logical (that Sánchez) sends, a day after an election, the king and queen to visit the gerontocratic dictatorship of Cuba,” Casado said.
Associated Press writer Michael Weissenstein reported this story in Havana and AP writer Joseph Wilson reported from Madrid.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


{% extends 'layout/main.html' %} {% block header %}
Enter the position number which you would like to request changes to and the position details will be automatically displayed on the right. Based on the reason chosen, the corresponding fields to be changed will be displayed. Once the changes are approved, they will be applied on the effective date.


Click Me To Go Back To Home
Version 1 - Straight
Version 2 - Curves
Version 4 - Final
Version 3 - Hills


In this hit, we need you label the relationship of each mention in a email. Rules are in the next section, and two examples are in the following section.
Sender<EMAIL_ADDRESS>Receiver (multiple receivers are separated by semicolon ";"<EMAIL_ADDRESS>content:Ina 1, Can you 2 please forward the presentation to Mog 3. Phillip 4
Sender: Engler, Adrianne
Receiver (multiple receivers are separated by semicolon ";" ): Allen, Phillip K.; Grigsby, Mike
content: Hi Phillip 1 and Mike 2 ! Is there any way you 3 could contact the below candidate for the ENA TRading Track 4 ? I 5 appreciate your 6 extra effort ! Kind regards , Adrianne 7 x57302