profile
viewpoint
Chris Culhane cfculhane Australia Med student, Software Engineer. Most of my commits are by my work account at @chris360KS

cfculhane/coronaSEIR 7

Simple SEIR model Python script for the COVID-19 pandemic with real world data comparison.

cfculhane/AnkiPopupWikipedia 2

Anki 2.1 addon to display Wikipedia page previews inside of Anki

cfculhane/anki 0

Anki for desktop computers

cfculhane/ConnectIQ-LIFX 0

ConnectIQ app to control LIFX smart lights

cfculhane/eyeloop 0

EyeLoop is a Python 3-based eye-tracker tailored specifically to dynamic, closed-loop experiments on consumer-grade hardware.

cfculhane/garmin-connect-export 0

Download a copy of your Garmin Connect data, including stats and GPX tracks.

cfculhane/LectureSplit 0

Python tool to split lectures into their slides, with audio of slide

startedjeff1evesque/whisper

started time in 8 days

issue commenttabulapdf/tabula-java

--debug option not working

Bump, this is still happening

mark-apgar

comment created time in 13 days

delete branch cfculhane/eyeloop

delete branch : basic-unit-tests

delete time in 14 days

issue commentsimonarvin/eyeloop

Blink threshold is hardcoded

Yeah, I'll have a tinker. Supplying the parameters would be an easy first step, but writing some sort of interactive tuning model would be a bit trickier, as the user would have to supply information about an expected number of blinks, and time stamps.

Thinking a bit more, a simpler input could be to have a separate blink video to test against, supplied by the user, which then generates an updated parameter file that could be used against further application runs.

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 539ab7570af25e6c49c17d92b8145ee3e84bed18

Tidy up shared_logging module

view details

push time in 15 days

Pull request review commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

+import logging+import logging.config+import os+import sys+from datetime import datetime+from pathlib import Path++import yaml+++def setup_logging(log_config_path=f"{Path(__file__).parent}/logging_config.yaml", log_dir="logs", module_name=None,+                  default_level=logging.INFO) -> (logging.Logger, str):+    """+    Setup logging configuration. Returns logger object.++    :param log_config_path: Path to logging config yaml file+    :param log_dir: Directory that log files will be written into (relative or full path)+    :param module_name: Module name to append to log filename. If none given __name__ will be used.+    :param default_level: Default level of logging.+    :returns: Tuple of (the newly created logging object, path to log file (possibly None if no config was found))+    """+    log_filename = None++    # Check for permissions and change log dir if write access isn't granted+    try:+        if Path(log_dir).exists() is False:+            print(f"log dir not found, Attempting to create dir {log_dir}")+            Path(log_dir).mkdir(parents=True, exist_ok=True)+    except PermissionError:+        log_dir = Path("C:/Temp", "coronaSEIR", "logs")+        print(f"WARNING: Not enough permissions to write to log_dir given. Writing to {log_dir} instead.")

Oops this is what happens when you copy code from your previous project ;) I'll remove this now, permission error's shouldn't occur writing logs to the /data/ directory as intended in this application, so I'll remove the try: except.

cfculhane

comment created time in 15 days

Pull request review commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

+# tox (https://tox.readthedocs.io/) is a tool for running tests

Yeah I think tox is easier for end users, up to you though. I like to use tox to test fresh installs, and it's easy to test across multiple environments as it creates its own tox venv's for each python version.

cfculhane

comment created time in 15 days

pull request commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

Hallelujah, just using pytest works! Tox is still nice for easy of use by dev and end users I think, but running pytest seems to be the go for travis for now.

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha c9cb8dbe535a24167abb1b0a3de7e0748dd5e65d

Reverting travis and tox build sto py 3.8

view details

push time in 15 days

pull request commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

I'm not in front of the computer with my development environment, but I found this link from pytest-qt when searching for xfvb and tox. Check out the first error described, looks pretty similar to what we have here.

pytest-qt.readthedocs.io/en/latest/troubleshooting.html

Perhaps their solution could be ported to eyeloop? Or at least serve as starting point I think.

Thanks for this, I'll look into it later in the week, I've unfortunately run out of time today

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha e85ac48a90795b20b8fb1d93bc634e428d2c1a9e

Simplyifying travis even more, removing coverage and report generation

view details

push time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 5bb4703e3e8f8457631bbbb451188089731df899

trying straight pytest instead

view details

push time in 15 days

pull request commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

Still no dice, open to ideas. Maybe it does need an X server and we could just run travis without a GUI - but given it was running eyeloop previously this doesn't seem to be the cause

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha ee5ec1129ee850917826f4347353b7236222df39

More travis frustration, downgrading to py37 on travis and tox to see if that resolves

view details

push time in 15 days

pull request commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

Still not working, I'll try this approach - https://github.com/jazzband/pip-tools/issues/858

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha d32192a5a5f8b5f7e1c7c97c7ce0a845e2be7d5c

Trying a different way of using tox with travis...

view details

push time in 15 days

pull request commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

@cfculhane I think it needs an X Server to run the tests? I ran tox and it failed. Then copied the command, it opened lots of windows, but the tests started working (I think; at least it went a bit ahead until I stopped it as it was really opening a lot of windows 😄 )

I've found, https://github.com/tox-dev/tox-travis , ill add that to the travis script to see what happens

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 747258283f34c76142ff2e4c3ac4f9e11b20f147

Update travis to use tox-travis plugin

view details

push time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 7e1a837f67d7ea92ff49704b1cf83466e41b05e3

In setup.py revert change to find_namespace_packages, is now back to the original find_packages

view details

push time in 15 days

Pull request review commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

 #!/usr/bin/env python-from setuptools import setup, find_packages+from setuptools import setup, find_namespace_packages

Hmm, I changed this as it allowed tox to more easily find the submodules, it was after an hour of frustration. I've reverted this change and it works, so maybe I changed something else that fixed it! Good pickup :)

cfculhane

comment created time in 15 days

pull request commentsimonarvin/eyeloop

Basic unit tests, logging, exception refactoring

tox doesn't want to start on travis for some reason! :(

cfculhane

comment created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha e57148b38e9888d7e13932a0a9648b66854b436d

Cleanup test_integration.py

view details

push time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 0cf2f8545fbc973e54886e72f5e2749ece9de0c7

Adding tox install to travis config

view details

push time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 4039f32bcb7f988823cfa317c23e7d8c9b0e54a7

UPdate entry point console script

view details

push time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 4e2a1c8b945e7c5e024d74c937bef098594cc215

Update tox to ref py3.8 to match travis, update travis file to run tox

view details

push time in 15 days

PR opened simonarvin/eyeloop

Basic unit tests, logging, exception refactoring

This PR combines a bunch of commits to address the following issues:

#8 - Implemented via shared_logging.py and its associated config file, at the moment the level is set to DEBUG which is quite verbose, but once the codebase becomes more stable this can be rolled back if desired

#22 - Using pytest and tox, I have written a basic integration test that runs two short videos and checks they are outputted correctly and that the output contains the expected number of frames. Later on further test can be written to test individual modules but at least now we can easily check if we break things as we change the code.

I have included calls to plugins to make coverage and test reports, see below:

image

image

#23 - partial fix to this, but the whole stack of .arm(), .release() etc might need to be looked at in more detail to figure out how untangle it and ensure things exit cleanly. For now I've removed the sys.exit() calls and made the exit clean by calling .release() when running out of frames. This might not be the intended behaviours, so will need feedback.

Please have a look through and see how I went, the blink_detection is a bit of an issue I think, I've added an assert that the blink_threshold > 0, as there is a check for abs(delta) > threshold if the threshold is less than 0, check_blink() will always detect a blink. #24 raises the issue of not hardcoding this, which might need to be addressed in a PR soon after this one.

+345 -96

0 comment

26 changed files

pr created time in 15 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 3477a346756b556c14653889b9cc6dd144b619cc

Fix duplicate decleration of install_requires

view details

Chris Culhane

commit sha beeeedc27bec3d125b3844810a5836117d5ed460

Adding manifest to include requirements file, and adding test requirements file. Also updated setup.py to find namespace packages

view details

Chris Culhane

commit sha 6a5d41e08c96ebe3c635f0ceed1955c09b2e392a

Adding __init__ to package and submodules

view details

Chris Culhane

commit sha 7ac2b660a7933bc0b9535ebe0311d3f7652af70d

Changing export directory of processed file to be inside it's data export folder so that all data from one session is in the same place

view details

Chris Culhane

commit sha d6986ccdc31ce72a35537785b9ff9a7e7829125f

Adding logging module and config

view details

Chris Culhane

commit sha 41274b74b801fd91532ac9ee86ec8955f2c34929

Update requirements for Yaml required for logging

view details

Chris Culhane

commit sha 9e3fb720a3a12e69d0ff7ea8ad597130628c7c90

Updating argument_parser to parse args in a seperate method, allowing custom args to be passed more easily in unit tests

view details

Chris Culhane

commit sha a07c99dac2593ad2dad880ee919c33d60e1ac96a

Update main run_eyeloop to handle custom args, remove unsave exec() call, add basic logging, remove now-uncessary sys.exit()

view details

Chris Culhane

commit sha 302b789156fff97da308126bbc5faa93a03f1d74

cv.Importer now handles running out of frames more elegantly, closing all windows and logging its exit status.

view details

Chris Culhane

commit sha f584e86c5b47869d5ea2e86252ae5372394eb49e

Moving logger location to inside output dir for a particular session

view details

Chris Culhane

commit sha 2f4a1994261630e0915331a70282d9b1f8593e9e

Updating DAQ to open and append, rather than locking the file. Also removed the timestamp as the directory now has a timestamp.

view details

Chris Culhane

commit sha 2ba409aa4e66b6988b7444cac33e00c23bab003f

Adding basic integration tests, tox test runner config

view details

Chris Culhane

commit sha f942dae245037aa33fbeeb0ee666e393f41b395e

Pass logger into EyeLoop to faciliate other loggers being used in testing

view details

Chris Culhane

commit sha 5f7d9482ac818af4626cb4176c6a6b94eeb47d59

Add logging to engine.engine.Engine, update check_blink function to return True if blink detected, False otherwise, and to check threshold > 0

view details

push time in 15 days

issue openedsimonarvin/eyeloop

Blink threshold is hardcoded

Currently the blink threshold is hardcoded inside the engine.Engine class, ideally this should be a param passed in so an external user can adjust it. Alternatively, a method could be written to take in an expected number of blinks, and adjust the blink threshold to match the expected number (so you could run through a small sample of video on the same subject to attain the threshold, then set that threshold to process the rest of the dataset)

created time in 15 days

issue commentsimonarvin/eyeloop

Use the logging module for errors

Will definitely need a second pair of eyes on the PR, its one of refactoring things where you add one thing, realise something else has broken/exposed something else as broken, then you create a nice little rabbit hole to fall down, meaning the code diff will be a bit hard to follow.

kinow

comment created time in 15 days

issue commentsimonarvin/eyeloop

General Handling of exceptions and callbacks to end GUI

I also have minor uncomfortable-ness about the dynamic mapping of the various methods to Importer.route_frame(), but I understand (I think) why this was done, it makes keeping track of what method needs to be called further up the stack way easier, it just plays havoc with debugging when you're not quite sure what a method is doing, or what it's arguments are. For better visibility I've added

self.route_frame: Optional[Callable] = None  # Dynamically assigned at runtime depending on input type

To the definition of cv.Importer() , this later then gets assigned to either route_cam(), route_sequence_sing(), or route_sequence_flat()

A more elegant solution going forward would be to have route_frame() be a method that chose which of the three above methods to call, based on some state variable. This way you would have consistent arguments and return types.

cfculhane

comment created time in 15 days

issue openedsimonarvin/eyeloop

General Handling of exceptions and callbacks to end GUI

Wasn't quite sure how/where to articulate this, but during my implementation of unit testing and logging I've come across the following issue, which I think I have resolved, its just a bit of a tangle.

It was previously mentioned that there was a non-zero exit code, which was then resolved by adding sys.exit(0).

It appears this was due to the way it was exiting when running out of frames, which was done via Importer.route_frame() raising an error, which was then handled further up with a broad except clause.

I have resolved this by calling the Importer.release() method when there are no remaining frames, as below:

        _, image = self.capture.read()
        if image is not None:
            image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
            self.proceed(image)
        else:
            logger.info("No more frames to process, exiting.")
            self.release()

Now that there is logging implemented, this approach is going to be cleaner rather than having exceptions bubbling up for things that aren't really exceptions - running out of frames appears to be an intended call to end processing. This method also allows later on a config variable to be passed in to optionally disable this behaviour if needed. @simonarvin Let me know if this approach works for you :)

created time in 15 days

issue commentsimonarvin/eyeloop

Use the logging module for errors

I've made good progress on this, have implemented logging. This will be a large messy commit with lots of the print() statements converted into logging.

kinow

comment created time in 15 days

create barnchcfculhane/eyeloop

branch : basic-unit-tests

created branch time in 16 days

pull request commentsimonarvin/eyeloop

Add setup.py and setuptools

This is an interesting one as I think it's a bit of a style preference. From looking around on the internet (to cherry-pick opinions that agree with mine, of course 😄 ), it seems like a useful separation between requirements.txt and install_requires=[...] is requirements.txt is for development and/or an application, where as install_requires=[...] is for library that is installed and imported into another project.

The python docs cover this fairly well.

The middle approach is to specify the minimum required packages (without versioning information) in install_requires=[...] , and use requirements.txt to cover all use cases and for developing for eyeloop.

Another approach is to read them using parse_requirements like this example

kinow

comment created time in 19 days

issue commentsimonarvin/eyeloop

Error running run_eyeloop.py

It might be worth writing some basic pytest integration tests to test some of the major branches of the code, not sure how you would do a stream from a webcam but the basic one you're using for the travis build check would be a good candidate to start with. We could then expand them as we go, building a nice set of tests to run before we make any pull requests.

kinow

comment created time in 20 days

pull request commentsimonarvin/eyeloop

Fix Path name

Ahh oops I forgot to mention that - I removed that function as it was better served by the pathlib.Path object, didn't think about that consequence - I think going forward it might be better to use a YAML config file or similar and use booleans, but for now this is a good fix. Apologies!

kinow

comment created time in 20 days

delete branch cfculhane/eyeloop

delete branch : directory-restructure

delete time in 20 days

issue commentsimonarvin/eyeloop

Move code under a common folders/packages folder

I think the major step of moving the files around is now complete and this issue can be closed out. Thanks for your patience @kinow and thanks for being so responsive @simonarvin!

kinow

comment created time in 21 days

PR opened simonarvin/eyeloop

Directory restructure to match more

As mentioned in #3 , the code would benefit from being restructured more like a standard python project, with the core code in its own ./eyeloop/ directory, allowing the top directory to be kept clean for project-wide files, test directories etc, and should make future changes easier as well!

I have updated the travis file to match, but let me know if I broke anything else so I can fix before merging.

+845 -820

0 comment

49 changed files

pr created time in 21 days

push eventcfculhane/eyeloop

Bruno P. Kinoshita

commit sha aeb56a8da3f73bd144e19bfbd19319797914c66c

Use pathlib instead of os (#5)

view details

Bruno P. Kinoshita

commit sha 6df24ab78c9bb2de8560be4dc101517224a932da

Fix loop errors (#7) * Skip when center is still -1 * Fix shape issues

view details

Bruno P. Kinoshita

commit sha 0cbe512932610de08f30e5ad65711aa0d7de7984

Point to repository issues URL (#9)

view details

Chris Culhane

commit sha 7ee42f4f156ad0c18091c531a844a5f490c4d3ec

Merge remote-tracking branch 'upstream/master' into directory-restructure

view details

Chris Culhane

commit sha 03d833da080bbdae172a056ab91705245e537fa9

Remove leftover filemanager from previous merge, oops

view details

push time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 27b5c4f35eeaa31898f2bee6627bc671af4c22cc

Change the directory of output.avi to match the output_dir in the arguments

view details

push time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 42f9f4b1f5ba9eb7fefc79fa35625dd3e6666ae1

Clean up unused imports

view details

push time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha d12d6466c9ce4b40b5dc1d079622f04b2e92a43c

Handle quotes used in path arguments

view details

push time in 21 days

pull request commentsimonarvin/eyeloop

PEP-8 auto format

I've fixed the merge issues, was just a few lines where me and @kinow were writing over the top of each other :)

cfculhane

comment created time in 21 days

push eventcfculhane/eyeloop

Bruno P. Kinoshita

commit sha aeb56a8da3f73bd144e19bfbd19319797914c66c

Use pathlib instead of os (#5)

view details

Bruno P. Kinoshita

commit sha 6df24ab78c9bb2de8560be4dc101517224a932da

Fix loop errors (#7) * Skip when center is still -1 * Fix shape issues

view details

Bruno P. Kinoshita

commit sha 0cbe512932610de08f30e5ad65711aa0d7de7984

Point to repository issues URL (#9)

view details

Chris Culhane

commit sha 0e625865847636fdc7161cdc9fa140b7d03b192a

Merge remote-tracking branch 'upstream/master' into pep8-complicance

view details

push time in 21 days

pull request commentsimonarvin/eyeloop

PEP-8 auto format

No worries, feel free to reject this one as the upcoming restructure PR will change a lot of files, so it might be doing this then.

cfculhane

comment created time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 3bb6d3b50efb3ec7618940daab210dec3184adeb

Using Path object to handle unix and windows path encoding, clarifying the 'destination' argument by changing it to 'output_dir' and renaming the associated variables.

view details

push time in 21 days

issue commentsimonarvin/eyeloop

Move code under a common folders/packages folder

Perfect, I'll try and get something basic working in the new structure that we can then build further changes off, should have it done tonight (Australian time!)

kinow

comment created time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha ff8b1e70af424faf45e3b6db349aee79d2cd83eb

Restructure to match more standard python format Moved all code related modules to /eyeloop. To avoid importing issues, renamed eyeloop.py to run_eyeloop.py.

view details

push time in 21 days

issue commentsimonarvin/eyeloop

Use the logging module for errors

+1 on this too, I've got a logging module and config I've used for many projects in the past that handles this stuff nicely, I'll add it once the restructure has been completed

kinow

comment created time in 21 days

issue commentsimonarvin/eyeloop

Move code under a common folders/packages folder

Yeah, it seems like we have similar ideas, just saw the PR to fix the index issues. Given my PR will be difficult to merge with further changes, do you mind holding off for a bit until I can reorganise the structure?

kinow

comment created time in 21 days

create barnchcfculhane/eyeloop

branch : directory-restructure

created branch time in 21 days

PR opened simonarvin/eyeloop

PEP-8 auto format

Auto-format to make the code a bit more consistent with PEP-8.

Also added a requirements.txt to ease installation (will be expanded upon later)

+776 -738

0 comment

27 changed files

pr created time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 2c37381e878c270ec3f78b44a7ad521740442710

Remnove PyYaml from requirements, not needed yet.

view details

push time in 21 days

issue commentsimonarvin/eyeloop

Move code under a common folders/packages folder

Hi there, I'm currently working on a refactor which would address this, as well as remove the .config state that is passed around as a global variable.

I'm thinking of putting all code related modules inside of /eyeloop to fix the mentioned issue, and then try and unstick some of the classes so that they are a bit less tightly bound, which would ease dev going forward.

kinow

comment created time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 1cf38dd07322f48f7414508875a536b3a95f0ea5

pep-8 auto format, continued

view details

push time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha e25916e76c7f878783c976a5879b1c6e99d00526

Create requirements.txt

view details

Chris Culhane

commit sha 884c029e2b4b01549e0e64615edf50168484b182

PEP-8 autoformat

view details

push time in 21 days

create barnchcfculhane/eyeloop

branch : pep8-complicance

created branch time in 21 days

create barnchcfculhane/eyeloop

branch : refactor

created branch time in 21 days

PR opened simonarvin/eyeloop

Remove compiled python files and update .gitignore

Hi, thought I would do a quick pull request to address a small issue with the repo, as there are currently compiled python files (.pyc) committed to the repo as well as a sparse .gitignore.

This pull request updates the git ignore, then removes the compiled files

+102 -3

0 comment

51 changed files

pr created time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha 6256e0f096fb3a153b749427beb0737b7e75d35b

Removed all files that are in the .gitignore

view details

push time in 21 days

push eventcfculhane/eyeloop

Chris Culhane

commit sha edc4aa0fd899b945ac237e3b8a13746bbbcdb8fc

Update .gitignore to ignore venvs, pycache, etc

view details

push time in 21 days

fork cfculhane/eyeloop

EyeLoop is a Python 3-based eye-tracker tailored specifically to dynamic, closed-loop experiments on consumer-grade hardware.

fork in 21 days

startedsimonarvin/eyeloop

started time in 22 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 6fc37506801b6b5c5a090227824425c01139d359

Update README.md

view details

push time in 22 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 6c2147961d81a0eebf9788cfd9fc8d0cd86f021c

Removing un-needed .SetSelection calls to handle back presses, also fixed the problem of the app crashing when toggle all lights is called.

view details

push time in 23 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha a6c9345ac2da0d7fb40e6b971208a1aa99212c61

Version increment to 0.3.0 for previous commit fixing the showing of loading for toggle all lights

view details

push time in 23 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 47131cde9e78f0cc5fd07146ba2e3cf346b6e2b7

Fixed the menu flashing up twice, and back button now works a bit better.

view details

push time in 23 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 18126813f15c26e5e61e54cf925bee72adbcf6e2

0.1.0 release

view details

push time in 25 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 1d99e5024db2dc9eaf6078bff5a3f9ee527c1fa9

Delete lifx_python_lan.py

view details

push time in 25 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 7d2a95884a28de71d75ddb6fbe3a5740aee52548

Adding more supported devices, getting ready for publishing

view details

push time in 25 days

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha ee207b440c214ee41f201b8ad7dc6620ea7bb485

Adding loading screen message, adding setting for API key

view details

push time in 25 days

startedjunjuew/cocoapi

started time in a month

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 639fa48fc0b8399028cc655465cd950939a0f56c

Handling Exit

view details

push time in a month

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 44be4f6ade42f26a954f66870aa2c75e79794dfa

Implementing main menu with light toggle

view details

push time in a month

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha c911cd968b52b4da7176b8d244c03ae022a0743e

Getting scene selection working

view details

push time in a month

issue commentmicrosoft/pylance-release

Pylance not enabling when using Remote Development

Thanks, setting Pylance manually does work, with the 'value is not accepted' warning popping up, which I assume will be fixed soon.

cfculhane

comment created time in a month

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha a29782955d3688c3121eecc29eb1e7294ff613fb

Adding scenes and lights handling

view details

push time in a month

push eventcfculhane/LectureSplit

Chris Culhane

commit sha 981a58ce1ada922eda9901850c17e0633cafcbbf

Adding logging, better handling of relative paths between pyinstaller and normal running

view details

Chris Culhane

commit sha bb1265b4dd4ce6e3bcf99ca55230a62f68191e62

Update .gitignore

view details

push time in a month

push eventcfculhane/LectureSplit

Chris Culhane

commit sha 0b39bf6334d948e4a39ef5dd51daf1dd763ad6ed

Updating build command to zip resultant build

view details

push time in a month

push eventcfculhane/LectureSplit

Chris Culhane

commit sha 9e10cb3e3832c0c9a4b372fe57123d5d8a1d345b

Adding build spec and command

view details

push time in a month

create barnchcfculhane/LectureSplit

branch : master

created branch time in a month

created repositorycfculhane/LectureSplit

Python tool to split lectures into their slides, with audio of slide

created time in a month

issue openedmicrosoft/pylance-release

Pylance not enabling when using Remote Development

<!-- Read the guidelines for filing an issue first.

https://github.com/microsoft/pylance-release/blob/master/TROUBLESHOOTING.md#filing-an-issue -->

Environment data

<!-- To find your version:

Select "View: Toggle Output" from the command palette (Ctrl+Shift+P on Windows/Linux, Command+Shift+P on macOS), then select "Python Language Server" in the dropdown on the right. Look for the line Pylance Language Server version X in the console. -->

  • Language Server version: v2020.6.1
  • OS and version: Version: 1.47.0-insider (user setup) Commit: b16b467d3e03e1a1ae05b5836e4e5a5af504e86d Date: 2020-07-01T05:32:07.483Z Electron: 7.3.2 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19041
  • Python version (& distribution if applicable, e.g. Anaconda): Python 3.6.9 64, on virtualenv

Running through Remote Development via SSH

Expected behaviour

  • Install extension
  • Activate extension
  • Happy days

Actual behaviour

  • After installing extension and reloading the session, the dialog box to make Pylance the default language server is shown
  • When clicking "Yes, and reload" , after reloading the same dialog is shown. This is repeated despite clicking Yes and reloading many times

image

Logs

<!-- Enable trace logging by adding "python.analysis.logLevel": "Trace" to your settings.json configuration file.

Adding this will cause a large amount of info to be printed to the Python output panel. This should not be left long term, as the performance impact of the logging is significant. -->

User belongs to experiment group 'ShowPlayIcon - start'
User belongs to experiment group 'ShowExtensionSurveyPrompt - control'
User belongs to experiment group 'DebugAdapterFactory - experiment'
User belongs to experiment group 'PtvsdWheels37 - experiment'
User belongs to experiment group 'UseTerminalToGetActivatedEnvVars - control'
User belongs to experiment group 'AA_testing - experiment'
User belongs to experiment group 'LocalZMQKernel - control'
User belongs to experiment group 'CollectLSRequestTiming - control'
User belongs to experiment group 'CollectNodeLSRequestTiming - experiment'
User belongs to experiment group 'EnableIPyWidgets - experiment'
User belongs to experiment group 'DeprecatePythonPath - control'
User belongs to experiment group 'RunByLine - control'
User belongs to experiment group 'CustomEditorSupport - control'
> conda --version
> conda info --json
> pyenv root
> python3.7 ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python3.6 ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python3 ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python2 ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import sys;print(sys.executable)"
Starting Microsoft Python language server.
Python interpreter path: ~/.virtualenvs/affinda/bin/python
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import notebook"
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import jupyter"
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py jupyter kernelspec --version
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py -c "import ipykernel"
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text /mnt/affinda/PROJECT_NAME/document.py
cwd: /mnt/affinda/PROJECT_NAME/django
> ~/.virtualenvs/affinda/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2020.7.91574-dev/pythonFiles/pyvsc-run-isolated.py pylint --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text /mnt/affinda/PROJECT_NAME/document.py
cwd: /mnt/affinda/PROJECT_NAME/django
> conda --version
##########Linting Output - pylint##########

... linting results

------------------------------------------------------------------
Your code has been rated at 7.58/10 (previous run: 7.58/10, +0.00)


Code Snippet / Additional information

<!-- Note: If you think a GIF of what is happening would be helpful, consider tools like https://www.cockos.com/licecap/, https://github.com/phw/peek or https://www.screentogif.com/ . -->

  • Note that Pylance works fine on a local workspace on the same install.

created time in a month

startedmicrosoft/pylance-release

started time in a month

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 69410576a7ded21b967048ac5112f1a9cb56bfa3

Adding get_lights()

view details

Chris Culhane

commit sha 3c885a09ea4380859f67f8cfc10b352239580781

Adding dynamic menu demo

view details

push time in 2 months

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 85cd7bec934e48a866a8ca78034174c0efc52c51

.gitignore fix

view details

push time in 2 months

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 531246e4cc85218d4a3c3330a9f3c88188d9c878

Updating gitignore(s)

view details

Chris Culhane

commit sha da3492ea266a1e61c8822d7186b683978afeab56

Ignoring wheel files

view details

Chris Culhane

commit sha 09f574cc0d641fc797f42c3cf76def8bcc804e4d

PyCharm project files

view details

Chris Culhane

commit sha 31344eff31d9b86e93a6b7e9b84978dc37c1c789

python playground for lifx, used before implementing in Monkey C

view details

Chris Culhane

commit sha f0f5023f63a4ca1897731b90947c80d221e8b6f6

Update .gitignore

view details

Chris Culhane

commit sha affea6f00794be2203ba0dd4f1cd283efe7c25a0

FIrst attempt at implmenting basic HTTP API request to toggle lights

view details

push time in 2 months

startedantirez/iqmeteo

started time in 2 months

push eventcfculhane/ConnectIQ-LIFX

Chris Culhane

commit sha 5f6c4b96e59f97a64c6107b0074db76cf33836a8

Start of project from template

view details

push time in 2 months

create barnchcfculhane/ConnectIQ-LIFX

branch : master

created branch time in 2 months

created repositorycfculhane/ConnectIQ-LIFX

ConnectIQ app to control LIFX smart lights

created time in 2 months

more